Структура рулит. Учимся структурировать программы, изучаем возможности, ошибки, решения и т.п. - страница 5

 
  1. У меня все проекты начинаются с интерфейса. Продуманный интерфейс => оптимальная структура проекта.
  2. Разрабатываю структуру данных (переменных) - от этого зависит быстродействие.
  3. От каждого блока добиваюсь правильной работы и лишь потом его оптимизирую.
  4. Когда проект готов, его надо отдать на тестирование. Исправить найденные ошибки и "не удобства".
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных - Документация по MQL5
 
FAQ:
Читаю ТЗ, если решение в виде структуры не приходит само в голову - занимаюсь текучкой по другим проектам, обычно в первый день никогда не приступаю к реализации. Если прога не МКЛ или ХТМЛ, то читаю, просчитываю вариаты  реализаций, структуры типы, классы. Когда общая картинка в голове, начинаю резать блоками или писать основные модули. если что то не прет, заваливаюсь на диван с какой нибудь игрушкой типа тетриса, и играю до полного решения проблемы, или пока не надоест :)
Вот что зацепило : ".........если решение в виде структуры не приходит само в голову.........".  Вот у меня тоже формирование гармоничной структуры проекта в голове ассоциируется с возможностью приступить к дальнейшей работе над проектом.  Пока оно не сложилось - всячески откладываю всякую писанину. Слишком дорого, обычно, обходятся структурные изменения по уже написанному.  Лучше потратить время на продумывание базиса в самом начале.
 

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

ЗЫ, типа оптимизации нейронки :) 

DC2008:
  1. У меня все проекты начинаются с интерфейса. Продуманный интерфейс => оптимальная структура проекта.
  2. Разрабатываю структуру данных (переменных) - от этого зависит быстродействие.
  3. От каждого блока добиваюсь правильной работы и лишь потом его оптимизирую.
  4. Когда проект готов, его надо отдать на тестирование. Исправить найденные ошибки и "не удобства".

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

ЗЫЗЫ. В принципе больше всего времени уходит на разработку алгоритма. 

 
FAQ:

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

ЗЫ, типа оптимизации нейронки :) 

У меня постоянно в этом качестве Сапёр.  ))


 
FAQ:

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

...

Этот эффект работает только горизонтально или и в других положениях сохраняется? :)

У меня как то абстракции лучше идут горизонтально, правда важно не свалиться в разслабон и сладкий сон :)

 

Для обмена мыслями / взаимообучения  предлагаю взять (высосать из пальца) более-менее смахивающую на практическую задачку, и всем колхозом её поструктурировать.

Например  хотя бы наметить  базовую структуру (точнее варианты таких структур) для такой задачки: 

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

Желательно либо сделать панель отключаемой (для оптимизации в тестере),  либо вынести всю "неграфическую" реализацию советника в подключаемый файл (.mqh), который может быть затем подключаем к графическому интерфейсу без изменений (дабы исключить) различия в работе "тестерной" и "графической" версий.

Хотелось бы услышать-почитать соображения по структурированию такого проекта.  В частности по реализации событийной модели управления в таком проекте. Предположим, что двойная реализация (тестерная + панельная) - жёсткое требование заказчика (то бишь делать придётся по любому, можно выбирать только способ реализации).

Поштурмуем задачку?

 

а для МТ4 :)

ЗЫ. А вооще меленко как то, давайте задачку поглобальнее ? 

 
FAQ:
а для МТ4 :)
Ну там с панелью управления тяжело будет.  Да и с классами не разбежишься... )))
 
MetaDriver:
Ну там с панелью управления тяжело будет.  Да и с классами не разбежишься... )))

  А вот у меня все для этого есть :)))

  ЗЫ. Просто я пас в пятере. Так что без меня. Лучше именно просто отвлеченная алгоритмическая задача. 

 
FAQ:
  А вот у меня все для этого есть :)))

Ну тады колись (в общих чертах)  как ты эти бреши затыкаешь в четвёрке.  Всё в DLL-ках?  :)

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