Ошибки, баги, вопросы - страница 3383
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пример такого кода в КБ есть? Или в штатной поставке терминала? Странно это все звучит, мягко говоря, истории про правильное и неправильное. Вроде, большие уже все.
я понимаю Ваш антагонизм, сам в нем прибываю
Правильный, неправильный (говнокод, shit code) - это термин не для программистов-одиночек, как Вы или как я.
Это термин для командной разработки сложных длительных проектов, в которых код каждого участника команды видят и юзают другие, где один программист может уйти, а на смену ему прийти новый, который он будет вынужден окунуться с головой в то, что было написано его предшественником.
Более того, для программистов одиночек этот термин тоже становится актуальным, когда этот программист возвращается к своему коду через несколько лет.
Говнокод (неправильный) - это вовсе не означает неработающий или неэффективный код. Напротив, самые элегантные (в плане размера и производительности) коды часто оказываются говнокодистыми, так как такой код никто, кроме самого их творца, не может изменить (поддерживать).
Я сам, когда есть выбор между высокопроизводительным говнокодом и "правильным" кодом, чаще выберу первое.
Мне правильнее было бы в моем предыдущем посте слова правильный, неправильный взять в кавычки.
Здесь в КБ не видел 100% правильного кода (возможно потому, что не часто смотрю в чужой код), но в других языках видел (особенно Java очень ревностна к шаблонизации и стилю). Даже все творения Игоря Кима процедурные.
Впрочем, кстати, у Карпутова видел вполне "правильный" код.
Хотя, думаю, вполне законно можно назвать "правильным" кодом большинство встроенных библиотек от MQ.
Например:
Наверное все же должен быть компромис, когда добротно говнокодить можно в своих строго private методах, а в остальном, все должно быть красиво и читаемо для стороннего наблюдателя.
"Правильное" ООП - это исскуство! Когда правильно все - кол-во классов, их имена, иерархия, их методы (защищенные,приватные и публичные), оформление (отступы) и комментарии.
код каждого участника команды видят и юзают другие, где один программист может уйти, а на смену ему прийти новый, который он будет вынужден окунуться с головой в то, что было написано его предшественником.
Более того, для программистов одиночек этот термин тоже становится актуальным, когда этот программист возвращается к своему коду через несколько лет.
Для меня в работах этого автора недостижимый мною ООП-стиль программирования, которым могу только восхищаться, но не в состоянии понять его.
Возможно, это результат его профильного образования и огромного опыта. Это, как пример, вроде, "правильного" ООП, но совсем не очевидного.
Там очень хорошо выстроена архитектура, но моя низкая компетенция не позволяет ее увидеть в коде.
Что же касается тех же "позиций в деструкторе" - это проста одна из реализаций, а не иной уровень владения ООП. Как Вы выразились, "говнокод" одиночки.
Сам активно использую виртуальные функции, деструкторы, наследования, перегрузки, статические поля классов, сборщики, синглтоны, указатели на объекты, указатели на функции, шаблоны, макросы и т.д. Но это все равно остается "говнокодом", только несколько сложнее. Использую удобные ООП-возможности для реализации, но в голову не придет это назвать ООП-парадигмой иного уровня понимания.
ЗЫ Trade-библиотека, как стиль, видится избыточной ООП-оберткой. Если ее заставить работать, станет "говнокодом", потому что количество торговых нюансов зашкаливает. Сейчас в ней нет ничего из этого (возможности наследования не помогут), к сожалению. И это одна из причин, почему она читается столь легко.
я понимаю Ваш антагонизм, сам в нем прибываю
Правильный, неправильный (говнокод, shit code) - это термин не для программистов-одиночек, как Вы или как я.
Вы наверное пока не встречали настоящего говнокода… (без кавычек).
Ах, понимаю о чем Вы.
Да, поначалу тяжело преодолеть психологический барьер, но со временем и начинаешь "решать задачу, а не писать код"
Процедурный стиль изначально ближе к жизни просто. Это реализация алгоритма, а не описание алгоритма без привязки к реализации. Как собрать табуретку это уже реализация алгоритма.
Читабельность кода не причем, и на бейсике командами проекты делались, комменты и правильная организационная структура работы.
Поэтому действительно трудно начать решать задачу с описания алгоритма как сущности без привязки к месту)))
Процедурный вариант с классами, это Алгоритм, смотрим что можно разбить на функции, классы, что бы было удобней и реализация в коде.
Типовой, описательный подход ООП, для меня это сперва описание алгоритма как сущности, с логичной разбивкой по повторяемости, и потом его использования где только можно)
Не претендуя на истину, мое восприятие)
экспортируемая функция библиотеки Shuffle.ex5:
вызов функции из библиотеки функции с неправильно объявленным аргументом
вызовет зависание с последующим падением терминала.
обратная ситуация, когда в библиотеке аргумент по ссылке а вызываем по значению так же вызывает зависание терминала и падение, но в этом случае терминал всё же успевает вывести в лог экспертов следующее:
если успеть увидеть это, то можно понять причину проблемы, причем в логах Експерты не сохраняется записей о проблеме а в логах Журнал сохраняется следующее:
2023.09.09 11:11:08.989 Exception C0000005 at 00007FF7310D062E read to FFFFFFFFFFFFFFFF
наверное нужна какая то защита в терминале от подобного некорректного вызова функций из библиотеки.
Кто-то заметил статистически разницу между тестами/оптимизаций на ssd и hdd?
Прогонял вчера часть советников, сделал тестов 80, разница в пользу hdd в основном по быстроте, иногда ssd NVMe но разницы выигрыша ssd NVMe очень минимальны, а hdd выигрывал с большей разницей.
Подскажите тогда в каких конкретно задачах ssd быстрее hdd чтобы можно было это отследить и мне.
P.S. 1 сферу нашёл теоретически и на практике увидел разницу но хочу и ваши варианты услышать независимые.
Подскажите пожалуйста, как расчитывается лот при копировании. По балансу или по эквити? (со счёта провайдера на счёт подписчика)
Добрый вечер!
Подскажите пожалуйста, как расчитывается лот при копировании. По балансу или по эквити? (со счёта провайдера на счёт подписчика)
Детали (с примерами и так далее) - см пост #9
Если в ME строка длинней 3277 с учетом комментария "//", то строка исчезает (становится невидимой)...
//12321..1321321