Стайлер в торговом терминале MetaTrader 5

 

Обсуждаем стайлер MQL5. Начало здесь


Приходится смотреть разный код. В том числе и плохо написанный.

Хорошее форматирование существенно облегчает чтение кода.


Поэтому, имхо, для большой части нормальных кодеров фишка останется невостребованной по причине особенностей форматирования и отсутствия настроек.

Предлагаю или добавить настроек, или форматировать в действительно общепринятом стиле.

Как вариант -- сделать возможность выбора одного из 2-3 стилей.

Вот это стиль! :) - MQL4 форум
  • www.mql5.com
Вот это стиль! :) - MQL4 форум
 
TheXpert :
Обсуждаем стайлер MQL5


Гуано, потому что не настраиваемый.

 
TheXpert :

Предлагаю или добавить настроек, или форматировать в действительно общепринятом стиле.

Как вариант -- сделать возможность выбора одного из 2-3 стилей.

+

 

Собственно решение тривиальное и уже многими IDE-шками реализовано.

для каждого синтаксического элемента языка ( { ( for function <= if ......) определяются правила: сколько пробелов вставлять перед ним и после него и нужен ли перевод строки перед или после него.

пользовательские настройки должны сохраняться в файл и автоматически загружаться (приоритетно) при запуске редактора.

Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Символьные константы - Документация по MQL5
 
Хорошо бы сделать стили настраиваемыми.
 
sol :
Хорошо бы сделать стили настраиваемыми.


... это и есть главный вопрос разработчикам...

Возможно ли создание настраиваемого стайлера? т.е. что это возможно - нет сомнений. вопрос в другом, каковы перспективы и приоритеты для рассмотрения этого пожелания?

 

Господа, а для кого пишется код?


Очень сильно уверен, что для остальных программистов. А им очень и очень неприятно читать чужой неотформатированный код.


Именно для решения такой проблемы мы и сделали штатную функцию стайлера. Если хотите, чтобы остальные люди (не Вы, а именно остальные люди) захотели смотреть Ваш код, то лучше его привести в максимально простой и однозначный вариант. Причем ключевое слово тут "люди", а не "вы".



Единый стайлинг важен для MQL5.community, так как мы собираем огромную базу исходников в Code Base. Это означает, что эти исходники будут читаться огромным количеством сторонних разработчиков и пользователей.


Чтобы не создавать невнятного скопища непонятного кода, все публикуемые скрипты будут автоматически:

  1. чиститься стайлером
  2. проверяться на корректность
  3. генерировать стандартные скриншоты для индикаторов

Понятно, что для решения глобальной задачи ведения обучающего архива исключительно важно иметь единый стиль.
 
Rosh писал(а) >>

Логика в том, что код выравнивается в соответствие с уровнем вложенности. Тут разногласий нет, как мы видим.

А вот открывающие и закрывающие скобки не являются кодом, а являются элементами оформления,и поэтому слегка выступают за границы кода на один символ.


Это меня удивило. Всегда считал, что ошибка в установке данного т.н. "элемента оформления" может кардинально изменить код. А оказывается, что это и не элемент кода вовсе. Пример:

if (условие) function1(); function2();

и ____________________________________

if (условие) {function1(); function2();}

 Компилятор сказал: "всё ОК!". А программа не идёт. Где ошибка? В оформлении? Или в коде?

 

Не цепляйтесь к словам, пожалуйста.


Введение жестких (даже граничащих с личными правами) правил оформления позволяет искоренять убийственный код вида

if (условие) function1(); function2();

Фактически, можно утверждать, что слабоволие в этом вопросе приводит команду разработчиков к хаосу.


Именно для уменьшения этого хаоса мы и реализовали жесткий ненастраиваемый стайлер.


Пару тысяч скриптов в MQL4 Code Base прошли через руки наших редакторов, которые выразились бы об используемых стилях гораздо жестче. Снова затевать такой процесс мы не хотим.

 
Renat :


Понятно, что для решения глобальной задачи ведения обучающего архива исключительно важно иметь единый стиль.


100% правильно.

ЕДИНЫЙ стиль должен быть. Но! Он должен и МОЖЕТ быть у каждого СВОЙ.

 

многогие привыкли к другим общепринятым стилям например VC++ (и я поддерживаю например ForexTools, пользуюсь сам именно таким стилем).

 

Зачем напрягать и без того замученные мозги программистов... проще сделать этот стиль НАСТРАИВАЕМЫМ. Вы наверно сами знаете эти чувства, когда смотрите не на свой стиль кода и руки чешутся его форматнуть под свой, родимый, удобный, к которому привык уже 15 лет... 


 По-моему не очень сложно вместо того, чтоб передвигать скобочки {  }  к тексту, а потом на 1 пробел отодвигать от него - не делать с ними ничего. Пусть стоит на уровне со своим родителем for, if, ...

 
sergeev :


100% правильно.

ЕДИНЫЙ стиль должен быть. Но! Он должен и МОЖЕТ быть у каждого СВОЙ.

Если пишите для себя, то просто не пользуйтесь штатным стайлером.


Программисты пишут код не для себя, хотя ошибочно думают, что для себя. Знакомо ведь?

Причина обращения: