Правильная ли схема классов Эксперта?

 

Привет!

Пытаюсь разобраться в Эксперте MQL5 и для этого сделал статическую схему классов.

Буду благодарен, если проверите, всё ли правильно:

https://cacoo.com/diagrams/USRd5C4ZSNNSI2dA


Следующим шагом хочу нарисовать Collaboration.

А то без этого голову можно сломать копаясь в автоматически сгенеренном коде. Хочется не просто тупо генерить код, а разобраться в нём.


P.S. Может быть уже есть где-то готовые схемы?

MQL5 Expert
MQL5 Expert
  • cacoo.com
MQL5 Expert classes and collaborations
 
varenich:

Привет!

Пытаюсь разобраться в Эксперте MQL5 и для этого сделал статическую схему классов.

Буду благодарен, если проверите, всё ли правильно:

https://cacoo.com/diagrams/USRd5C4ZSNNSI2dA


Следующим шагом хочу нарисовать Collaboration.

А то без этого голову можно сломать копаясь в автоматически сгенеренном коде. Хочется не просто тупо генерить код, а разобраться в нём.


P.S. Может быть уже есть где-то готовые схемы?

А попробуйте doxygen http://www.stack.nl/~dimitri/doxygen/

Он отлично генерит документацию по папке с исходниками + рисует схемы классов

Единственно, он наверное не поймет расширений .mq5 и .mqh, придется скопировать папку include и переименовать в .cpp и .h, он С++ понимает.

Doxygen: Main Page
  • www.stack.nl
Doxygen is the de facto standard tool for generating documentation from annotated C++ sources, but it also supports other popular programming languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl, and to some extent D. Doxygen can help you in three ways: It can generate...
 
varenich:

Привет!

Пытаюсь разобраться в Эксперте MQL5 и для этого сделал статическую схему классов.

Буду благодарен, если проверите, всё ли правильно:

Навскидку - вроде все правильно. Но детально - не разбирался.

Поищите среди статей - есть весьма толковое описание.

В принципе, сама-то идея структуры классов Стандартой Библиотеки, на мой взгляд, достаточно здравая. Но сложность ее зашкаливает, и, кроме того - мало внимание уделено переносимости кода МТ4-МТ5 (с другой стороны - спасибо, что хоть некоторая переносимость все же имеется, и возможности для построения переносимых классов тоже).

Alexey, интересная штука Doxygen - надо бы, действительно, присмотреться.

 
George Merts:

Alexey, интересная штука Doxygen - надо бы, действительно, присмотреться.

Я его для С++/С# использую, крутая вещь. Думаю, там можно в настройках задать расширения MQL4/5, как С++, надо доки почитать.