Обсуждение статьи "Стать хорошим программистом (Часть 1): избавляемся от пяти привычек, чтобы лучше программировать на MQL5"
int CountPosByType(ENUM_POSITION_TYPE type) { int counter = 0; for(int i=PositionsTotal(); i>=0; i--) if(m_position.SelectByIndex(i)) if(m_position.Magic()==MagicNumber && m_position.Symbol()==Symbol() && m_position.PositionType()==type) { counter++; } return counter; }
- Первое значение переменной в цикле ошибочное.
- Вместо одного if стоит два.
- string-сравнение (символ) должно стоять в конце.
- bool-выражения не выделены скобками.
- Мэджик-переменная отсутствует во входных функции.
- Объект позиции не создан.
Функция довольно проста и вроде ее можно понять. Но она не отвечает требованиям чистого кода. Поэтому применим стилизатор. Это просто: нажимаем на синюю кнопку в виде расчески в MetaEditor и причесываем код.
по-моему стилизатор не позволяет получить чистый код
чистый код это не много другое
Омега пишет в английской ветке. Следующая статья Better Programmer (Part 02): Stop doing these 5 things to become a successful MQL5 programmer.
Хорошая статья. В ней хорошо раскрыта концепция, что нужно делать, а что не нужно.
Погрешности в конкретных примерах в данном случае не снижают ценность статьи, так как её задача - помочь человеку оптимизировать стиль своей работы. Эта задача решена блестяще, всё написано максимально просто и понятно.
Спасибо, Омега!
- The first value of the variable in the loop is wrong.
- Instead of one if, there are two.
- string comparison (character) must come at the end.
- bool expressions are not bracketed.
- Magic variable is missing in the input functions.
- The position object was not created.
Интересно...
- Первое значение переменной в цикле ошибочное.
- Вместо одного if стоит два.
- string-сравнение (символ) должно стоять в конце.
- bool-выражения не выделены скобками.
- Мэджик-переменная отсутствует во входных функции.
- Объект позиции не создан.
Стать хорошим программистом (часть 1): избавляемся от пяти привычек, чтобы лучше программировать на MQL5
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Стать хорошим программистом (Часть 1): избавляемся от пяти привычек, чтобы лучше программировать на MQL5:
У начинающих и даже у продвинутых программистов есть различные вредные привычки, которые мешают им стать лучше. В этой статье мы обсудим их и посмотрим, что с ними можно сделать. Статья предназначена для всех, кто хочет стать успешным MQL5-программистом.
Прежде чем искать решения для своей проблемы, надо понять причины ее возникновения. Только разобравшись, вы сможете задавать правильные вопросы на форуме, а не постить код в надежде получить исправленное и правильно работающее решение в ответ. А ведь проблема может быть связана с тем, что вы просто не понимаете, что и зачем пишете. Опять же возьмем мой пример: я скопировал где-то код, чтобы изменить шаблон графика, не понимая и вообще не зная ничего о работе с графиками через стандартную библиотеку. И что в итоге? Я написал, что библиотека не работает.
Как только вы столкнетесь с проблемой или ошибкой, убедитесь, что вы понимаете все библиотеки и код, который не работает. Есть разные способы найти соответствующую информацию на MQL5. Основные, это:
Документация по MQL5:
К счастью, в нашем распоряжении есть отличная документация со всей нужной информацией и не нужно искать где-то в интернете. Профессиональные программисты знают о документации и пользуются ей. А для начинающих я напишу, как быстро ее найти: откройте MetaEditor, меню Справка и выберите Справочник MQl5.
Автор: Omega J Msigwa