Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1994

 
Alexey Viktorov #:

Это уже слишком жёстко…

Никто не обещал лёгких путей.
Но, ради исключеня, можно позволить функции с 4-мя параметрами.
Но при этом надо иметь в виду, что булевы параметры в функциях есть зло!
 
Sergey Gridnev #:
Никто не обещал лёгких путей.
Но, ради исключеня, можно позволить функции с 4-мя параметрами.
Но при этом надо иметь в виду, что булевы параметры в функциях есть зло!

Надо-же… Какие разработчики… где их набрали?

//+------------------------------------------------------------------+
//| Создает прямоугольную метку                                      |
//+------------------------------------------------------------------+
bool RectLabelCreate(const long             chart_ID=0,               // ID графика
                     const string           name="RectLabel",         // имя метки
                     const int              sub_window=0,             // номер подокна
                     const int              x=0,                      // координата по оси X
                     const int              y=0,                      // координата по оси Y
                     const int              width=50,                 // ширина
                     const int              height=18,                // высота
                     const color            back_clr=C'236,233,216',  // цвет фона
                     const ENUM_BORDER_TYPE border=BORDER_SUNKEN,     // тип границы
                     const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // угол графика для привязки
                     const color            clr=clrRed,               // цвет плоской границы (Flat)
                     const ENUM_LINE_STYLE  style=STYLE_SOLID,        // стиль плоской границы
                     const int              line_width=1,             // толщина плоской границы
                     const bool             back=false,               // на заднем плане
                     const bool             selection=false,          // выделить для перемещений
                     const bool             hidden=true,              // скрыт в списке объектов
                     const long             z_order=0)                // приоритет на нажатие мышью
  {

И параметров насували аж 17, и булевых, аж 3. Куда смотрит директор¿

 
Alexey Viktorov #:

Надо-же… Какие разработчики… где их набрали?

И параметров насували аж 17, и булевых, аж 3. Куда смотрит директор¿

Почитайте книгу "Чистый код".
 
Alexey Viktorov #:

Надо-же… Какие разработчики… где их набрали?

И параметров насували аж 17, и булевых, аж 3. Куда смотрит директор¿

Тут достаточно 3х параметров:
- ID
- Имя
- СтруктураСПараметрами

Структура параметров заполняется перед вызовом функции, текст программы становится понятен.
 
Alexey Viktorov #:

Надо-же… Какие разработчики… где их набрали?

Скажу крамольную вещь, но программы на MQL, в том числе и примеры кода из документации, далеки от эталона кодинга.
 
Alexey Viktorov #:


И параметров насували аж 17, и булевых, аж 3. Куда смотрит директор¿


Представьте, смотрите Вы код программы и видите:

newStr = ConvertStr(str, true, true, false, true);

И что Вы поймёте, прочитав эту строку?

 
А много параметров зло, потому что
1) функцию в одну строку уже не напишешь;
2) можно сбиться, определяя параметр в определенной позиции.
 
И тут Остапа понесло...
 
Tretyakov Rostyslav #:
И тут Остапа понесло...
При чем тут "понесло"?
 
Sergey Gridnev #:
При чем тут "понесло"?

Я про полемику...

А если по теме: "Кто как хочет, так и ...пишет свой код", главное результат

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