MT5, mql5, mql5.com предложения по улучшению. - страница 11

 
Igor Zakharev #:
Как идея
Так себе.

 
Sergey Gridnev #:
Так себе.

Если есть несколько классов в которых десятки функций и полей - это время сэкономит на проектах среднего и большого размера. Не нужно будет переключаться на другой файл и его скролить и вручную копипастить имена, или открывать заголовочные инклуды и тоже смотреть что именно использовать.
 

Присоединяюсь. Точнее, я категорически за то, что бы заголовочные файлы работали как сейчас.

Igor Zakharev #:
Если есть несколько классов в которых десятки функций и полей - это время сэкономит на проектах среднего и большого размера. Не нужно будет переключаться на другой файл и его скролить и вручную копипастить имена, или открывать заголовочные инклуды и тоже смотреть что именно использовать.

Похоже, вы что-то делаете не так. <Alt + G> телепортирует к определению, где бы оно ни было. Если определение в другом файле, то ME автоматически откроет этрот файл при нажатии <Alt + G>.

У меня программы полностью распиханы по mqh файлам и никаких проблем. Каждый mqh файл компилируется. Наоборот, это очень удобно, когда mqh файл включает только то, что ему нужно, и ничего не мешается под рукой.

А если вы испытываете необходимость перекрестных/взаимных инклудов, то как по мне, это говорит о том, что у вас обосралась архитектура.

 
Igor Zakharev #:
// Main.mqh

#include <Arrays\ArrayLong.mqh>

CArrayLong some_array;

#include "Additional.mqh"
// Additional.mqh
some_array.Add(12345);

// Additional.mqh
#include <Arrays\ArrayLong.mqh>

void f(CArrayLong &arr)
  {
   arr.Add(12345);
  }
 
Коли речь зашла о включаемых файлах, вот этот баг подсветки макросов всё ещё на месте: https://www.mql5.com/ru/forum/1111/page3394#comment_49609013
 
Vladislav Boyko #:

Речь не об этом, там же написал на предыдущей странице, что спросонья так напечатал.

Речь о том идёт, что не подсвечиваются функции класса и поля класса во включаемом файле из-за отсутствия перелинковки, что при большом кол-ве функций и полей расходует время на поиски нужной функции или поля.

Суть в удобстве, не в синтаксисе - с синтаксисом нет проблем.

 
Vladislav Boyko #:

Присоединяюсь. Точнее, я категорически за то, что бы заголовочные файлы работали как сейчас.

Похоже, вы что-то делаете не так. <Alt + G> телепортирует к определению, где бы оно ни было. Если определение в другом файле, то ME автоматически откроет этрот файл при нажатии <Alt + G>.

У меня программы полностью распиханы по mqh файлам и никаких проблем. Каждый mqh файл компилируется. Наоборот, это очень удобно, когда mqh файл включает только то, что ему нужно, и ничего не мешается под рукой.

А если вы испытываете необходимость перекрестных/взаимных инклудов, то как по мне, это говорит о том, что у вас обосралась архитектура.

По Alt+G не работает. Сделайте в MQL4 два файла, объявите в первом объект CArrayLong, а во включаемом который включается после того объявления, попробуйте по имени объекта используя Alt+G перейти и ничего не получится.


А что насчет архитектуры, так вы должны были быть в курсе реалий фриланса - где за рефакторинг не платят, но на лету могут изменить требования так, что приходится многое менять наиболее дешевым способом, что бы сильно не выходить за стоимость спецификации. Так что при главном вопросе о стоимости спецификации и при ТЗ у которого на лету заказчиком изменены алгоритмы - какая вообще архитектура? Так что скверные вопросы извините "опорожнения архитектур" - нужно не со мной обсуждать. Такие дела.

 
В общем эта тема для предложений, поэтому написал предложение, не в целях устраивать споры. Всегда есть и консерваторы и реформаторы.

 
Igor Zakharev #:

По Alt+G не работает.

Особенно в template-коде.
 
Igor Zakharev #:

По Alt+G не работает. Сделайте в MQL4 два файла, объявите в первом объект CArrayLong, а во включаемом который включается после того объявления, попробуйте по имени объекта используя Alt+G перейти и ничего не получится.

Прошу принять ещё +1 голос. Чтобы сделать Alt+G рабочим вызовом во включаемых файлах.