ООП vs процедурное программирование - страница 2

 
Реter Konow:
Вы знаете, за всеми этими терминами и ООП-кодом, я совершенно не могу разглядеть задачу которую Вы решали. В чем ее суть? Опишите пожалуйста, а я предложу свое решение. Потом можно будет сравнить по всем возможным критериям.

Ээээ... Не совсем понял суть.

Задача была - отделить ТС от терминала. Чтобы код без изменений - компилировался на обоих платформах. Сверхзадача - чтобы можно было, написав лишь классы работы с торговым сервером - перенести все написанные ТС на WealhtLab Developer.

 
George Merts:

Почему же "бесполезное" ? Очень даже полезное.

Только как сравнить на практике "легкость поддержки" ? 

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

Вот как тут оценить разницу ? Работы-то совершенно одинаковое количество !

Давайте решим конкретную задачу и сравним.
 
George Merts:

Ээээ... Не совсем понял суть.

Задача была - отделить ТС от терминала. Чтобы код без изменений - компилировался на обоих платформах. Сверхзадача - чтобы можно было, написав лишь классы работы с торговым сервером - перенести все написанные ТС на WealhtLab Developer.

Компиляция на обоих платформах задача? Наверное только при использовании ООП. Серьезно, какая в этом задача? Опишите в чем она?
 
Реter Konow:
Давайте решим конкретную задачу и сравним.

Критерий сравнения ?

Я утверждаю, что ООП необходимо для простоты поддержки и внесения изменений в готовый код. Ты, как я понял (давай на "ты"), утверждаешь, что в твоем коде это не сложнее (а может быть, и даже проще). Как будем сравнивать-то ?

Одна твоя фраза про то, что "ты все помнишь" уже вносит неравнозначность. Скажем, торговый процессор у меня состоит из 39 файлов, и 270кб кода. Если разработчики внесут изменения в протоколы взаимодействия с торговым сервером - я, боюсь, без структурирования и ООП-системы классов мне будет очень сложно найти все места, на которые должно повлиять это изменение, и модифицировать код, причем так, чтобы во-первых, не затронуть блоки, работающие в МТ4, а во-вторых, чтобы написанные ТС - "не почувствовали" этого изменения.

Вся ООП-система ограничивает для меня возможности внесения ошибок именно потому, что я все не помню. А помнил бы все, как ты - вероятно, и городить все эти виртуальные интерфейсы было бы ни к чему...

 
Это как автомобиль на ручке или а автомате. удобней на автомате. Практичней на ручке.
 
George Merts:

Ээээ... Не совсем понял суть.

Задача была - отделить ТС от терминала. Чтобы код без изменений - компилировался на обоих платформах. Сверхзадача - чтобы можно было, написав лишь классы работы с торговым сервером - перенести все написанные ТС на WealhtLab Developer.


Там же шарп, даже массивы по другому задаются. Не, конечно, если привлечь fxsaber с его безумными дефайнами, наверное можно уравнять MQL5 и WealhtLab )))

 
Dmitiry Ananiev:
Это как автомобиль на ручке или а автомате. удобней на автомате. Практичней на ручке.

В чем практичнее? В пробках сцепуху жечь?

Я вот покатался на тигуане, так кнопка старт/стоп, вот это реально практично.

 
Alexey Volchanskiy:

Там же шарп, даже массивы по другому задаются. Не, конечно, если привлечь fxsaber с его безумными дефайнами, наверное можно уравнять MQL5 и WealhtLab )))

Дык именно поэтому - я никогда не работаю с массивами. Исключительно с классами-наследниками СArray.

Я не уверен, что у меня руки дойдут до такого универсального кода, чтобы компилировалось без изменений с WLD, но возможность иметь хотелось бы... 

P.S. Ты тоже в экстазе от творчества fxsaber'a ?   :)))

 
George Merts:

Дык именно поэтому - я никогда не работаю с массивами. Исключительно с классами СArray.

Я не уверен, что у меня руки дойдут до такого универсального кода, чтобы компилировалось без изменений с WLD, но возможность иметь хотелось бы... 


Вообще-то WL умирает, полтора года нет новых версий. И, как говорит вика

Тестирование происходит на 1 ядре, делая процесс долгим на современных компьютерах с множеством ядер.

Центральный процессор | Wikiwand
Центральный процессор | Wikiwand
  • www.wikiwand.com
You can help our automatic cover photo selection by reporting an unsuitable photo.
 
George Merts:

Дык именно поэтому - я никогда не работаю с массивами. Исключительно с классами-наследниками СArray.

Я не уверен, что у меня руки дойдут до такого универсального кода, чтобы компилировалось без изменений с WLD, но возможность иметь хотелось бы... 

P.S. Ты тоже в экстазе от творчества fxsaber'a ?   :)))

Угу, был бы девушкой, обкончался бы, просто повелитель всех дефайнов )))) Помнишь "Повелитель бури"? ))