Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Конечно, можно! Но какое страшилище получится?
В библиотеке TypeToBytes без макросов было бы не просто страшно, но и не удобно. Т.е. библиотеку можно было бы просто выбрасывать.
Думаю, все дело в уровне владения языком. Когда ООП не знал/понимал - не использовал. Все изменилось.
а при чем тут уровень владения, речь ведь об использовании, а это отладка кода, которая с макросами затруднена...
Макросы используются там, где отладка не нужна - вылизанный код.
Компилятор получает на вход всегда чистый код - без макросов. Если бы этот чистый код можно было получить (сохранить в файл), то Вы бы увидели его.
Разработчики могут это сделать, но вряд ли будут (ключ -E в C++).
Макросы используются там, где отладка не нужна - вылизанный код.
Компилятор получает на вход всегда чистый код - без макросов. Если бы этот чистый код можно было получить (сохранить в файл), то Вы бы увидели его.
Разработчики могут это сделать, но вряд ли будут (ключ -E в C++).
вы действительно не понимаете меня или уперлись как это делаете при общении обычно с разработчиками, отстаивая свою истинную точку зрения? Выше я вам написал, что придерживаюсь мнения программистов, которые в этой сфере далеко впереди нас, так же я написал конкретно две проблемы - одна второстепенная связанная с неудобством чтения кода, вторая серьезная проблема в отладке кода, если не понимаете действительно, то пройдитесь отладчиком по коду где используются макросы...
на этом заканчиваю не нужный халивар
вы действительно не понимаете меня или уперлись как это делаете при общении обычно с разработчиками, отстаивая свою истинную точку зрения? Выше я вам написал, что придерживаюсь мнения программистов, которые в этой сфере далеко впереди нас, так же я написал конкретно две проблемы - одна второстепенная связанная с неудобством чтения кода, вторая серьезная проблема в отладке кода, если не понимаете действительно, то пройдитесь отладчиком по коду где используются макросы...
Полностью уважаю Вашу точку зрения и доводы понятны. К сожалению, metaeditor.exe не имеет ключа -E. А он бы мог создавать чистый код, который можно было бы читать и подвергать отладке с полным набором удобств.
Во время написания чего-то не тривиального, создаю крайне поганый код. Понимая, что первое - это заставить работать ( и баги самих разраработчиков на этом этапе вылавливаются). Не всегда очевидно, как лучше архитектурно подойти. Бывают серьезные переделки, т.к. слабо осознаешь некоторые моменты в начале работы. После отладки идет выстраивание кривого кода в более логичный. Могут создаваться новые функции и макросы. Цель - сделать все логичным и убрать какие-либо повторения логики/кода. Код получается красивый, лаконичный и логичный.
Вот где реально тяжело заниматься отладкой, так это с шаблонами. Шаблоны - это навороченный препроцессор. И отладить крайне трудно. Например, при написании сверх-шаблонного TypeToBytes отладкой пользоваться было практически невозможно. Как и невозможно было написание кривого кода с последующим причесыванием. Приходилось все держать в голове и очень хорошо представлять, что и где происходит. Своего рода само-экзамен на понимание.
Поэтому есть ситуации, когда без шаблонов и препроцессора совсем нельзя. И сторонники чистого кода, видимо, не представляли этих ситуаций.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Альтернативные реализации стандартных функций/подходов
fxsaber, 2016.09.02 10:58
Теперь работает всегда правильно, но быстрее оригинала всего на 10%Почему макросы препроцессора злые и какие альтернативы?
Почему макросы препроцессора злые и какие альтернативы?
Зло - не макросы, а безграмотное их использование.
Зло - не макросы, а безграмотное их использование.
В том-то и дело, что макросы не защищены от неправильного использования.
Они появились, когда не было ни классов, ни шаблонов, ни констант.
Сейчас их использование не имеет смысла.
В том-то и дело, что макросы не защищены от неправильного использования.
Они появились, когда не было ни классов ни шаблонов.
Сейчас их использование не имеет смысла.
Неверное утверждение.
Неверное утверждение.
Вы не сможете это обосновать.