Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Комбинатор
16523
Комбинатор  

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


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

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


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

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

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

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


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

VonDo Mix
1543
VonDo Mix  
TheXpert :

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

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

+

Sergey Kravchuk
3330
Sergey Kravchuk  

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

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

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

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


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

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

MetaQuotes
Админ
25397
Renat Fatkhullin  

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


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


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



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


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

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

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

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

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


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

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

и ____________________________________

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

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

MetaQuotes
Админ
25397
Renat Fatkhullin  

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


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

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

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


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


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

o_o
Модератор
24293
o_o  
Renat :


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


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

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

 

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

 

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


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

MetaQuotes
Админ
25397
Renat Fatkhullin  
sergeev :


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

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

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


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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий