не читается.
не читается.
PS/ проверял и оперой, и хромом
PS2/ исправил ссылку
К сожалению этот файл мне не пригодился :-))) Шутка. Давно пользую.
Очень вовремя мы познакомились с Андреем. Как раз в то время, когда начал изучать С++. Он мне свой опыт тогда передал и до сих пор помогает.
Теперь пишу только, как у него описано.
Приятно осознавать, что написанный код, загадочным образом работает. Работает всегда, и без ошибок. Загадочный из-за того, что уже давно забыл, что понаписал внутри враперов и локеров.
Это становиться просто привычным в использовании.
Сейчас могу разве что посоветовать книгу- Мартин Фаулер, "Рефакторинг".
У него есть глава "4. Разработка тестов", "Ценность самотестирующегося кода".
Сам тесты пишу- т.к. если нет тестов- то уверенности нет никакой, что написано что-то стоящее.
Иногда пишу дублирующий функционал (то же самое- но другим методом).
Иногда пишу такие тесты, которые генерируют наборы случайных значений-
а потом идёт проверка, как на этих случайных данных всё работает.
Если, например, работа связана с прерыванием и сохранением состояния на диск
с последующим возобновлением работы- то в тесте много раз прерываю- перезапускаю.
В данные обычно пишу информацию, чтобы проконтролировать целостность системы.
Сейчас перешёл на работу с хитрыми объектами типа "Xml в памяти".
Написал для них бинарный и текстовый сериализатор.
Также можно сохранять эти объекты специально под визуализацию в блокноте-
вроде и структура Xml, но читается в разы проще- в тексте с отступами.
Легко посмотреть, что там как нагенерировалось.
Хорошо всё визуализировать- все временные, итоговые буфера.
Косяки на глаз довольно хорошо видны.
В одной программке все буфера с расчетами были доступны для выгрузки в csv
и для показа на экране- отдельно с графиками для периодограмм (Фурье) и для временных рядов.
Если функционал делается с прототипом (есть программа, которая уже
делает то, что нужно)- можно смело сравнивать итоговые цифры.
Например, код Mql индикатора перенесли в С++ и что-то там посчитали-
так ведь есть ещё и результат из-под МТ- бери- не хочу. Если всё совпало- вот оно- счастье.
Написали тестер- посмотрели как все то же самое проторгуется в МТ,
чтобы совпали все сделки и суммы.
Где-то расчёты могут давать "плавающие результаты"- можно тупо запускать много раз
и проверять, что результаты одни и те же.
Ещё отдельная тема- создать условия для повторения экспериментов-
воспроизведения ошибок (например, при рассчетах происходил внезапный сбой-
в итоге я перед обработкой скидывал данные на диск,
потом если программа ломалась- сохранял эти данные отдельно-
и проводил на них отладку).
PS/ тут как-то проскакивала вот такая статья- https://www.mql5.com/ru/articles/1579
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Если кому интересен С++ - делюсь документом,
в котором описываю правильные с моей точки зрения практики программирования
(так скажем- врапперы у меня из правил кодирования,
т.е. моя точка зрения остается только в виде shared pointer'ов)
https://docs.google.com/open?id=0BxWggsgmLeCfZ0tRYzJIZ1VXaE0
Тем, кто не работал профессионально- или не довелось попасть
в правильную контору- надеюсь, будет интересно.
PS/ на отсутствие "косяков" не претендую ;-)