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

 
Реter Konow:
Я то понятно почему не понимаю, это не мой код, к тому же это только часть. Но, похоже Вы тоже не понимаете, - или я не прав?

Я не использую указатели... 

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

Сейчас я все пересобрал в классы и при вызове класса Order  получаю все что мне нужно и список доступных функций методов...

 
Реter Konow:
Поэтому я люблю делать большие универсальные блоки кода.

Даже не вериться автор неплохого GUI без ООП

Экономия строк кода?!

 
СанСаныч Фоменко:

Нет Ваш пример очень хорош.

Дело не в процедурном программировании.

Есть гораздо более важный критерий качества программы: наглядность кода.

Приведенное Вами решение ужасно: совершенно не понятно КАКАЯ содержательно функция вызывается. Я бы написал обычный свитч и против каждого вызова комментарий. Это правильный код.

Из Вашего примера я делаю вывод, что ООП штука вредная.


А зачем switch на 100 вариантов, если заранее известно, что использоваться будет только 1?

В чем наглядность портянки из 100 вариантного switch, по сравнению с тремя строками кода? 

Делать сложно, объемно и тормознуто то, что  можно сделать рационально, оптимально (даже идеально) - это не правильный подход.

ООП вреден только при неправильном его использовании.

Среагируйте вот на этот коммент.

 
Реter Konow:
Поэтому я люблю делать большие универсальные блоки кода.

От чего они становятся универсальными?

 
Dmitry Fedoseev:

А зачем switch на 100 вариантов, если заранее известно, что использоваться будет только 1?

В чем наглядность портянки из 100 вариантного switch, по сравнению с тремя строками кода? 

Делать сложно, объемно и тормознуто то, что  можно сделать рационально, оптимально (даже идеально) - это не правильный подход.

Среагируйте вот на этот коммент


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

 
Vladimir Pastushak:

Я не использую указатели... 

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

Сейчас я все пересобрал в классы и при вызове класса Order  получаю все что мне нужно и список доступных функций методов...

Ну если Вам так удобней, то я ничего против не имею. Из своего достаточно богатого опыта программирования я могу сказать, что любые задачи могут быть решены без ООП не менее эффективно, если применять универсализацию и сжатие своих решений. Это опыт, подтвержденный огромной практикой. Возможно, тот или иной подход связан с индивидуальными особенностями нашего мышления. Эта главная мысль, которую я бы хотел передать.
 
СанСаныч Фоменко:

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


И портянка и балласт. Мухи должны быть отдельно, котлеты отдельно. Документация важна, но она не должна мешать работать программе.

 
Dmitry Fedoseev:

От чего они становятся универсальными?

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


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

 
Реter Konow:
Ну например - нужен блок, который позиционирует графические объекты относительно друг друга создавая элементы управления. Вместе с этим, этот же блок управляет явлением объектов, - то есть прячет одни и являет другие. Также он подсчитывает размеры полотна прокрутки и общие размеры окна. Также расчитывает движение ползунка в полосе прокрутки. Вот это и есть универсальный  блок взаимосвязей объектов.

Но это же реализуется через if и switch?

 
Dmitry Fedoseev:

Но это же реализуется через if и switch?

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