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

 
George Merts:

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

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


Жорж, я тут недавно встретился с давнишней подругой, она бухгалтер и пытается освоить 1 С. В 2007 году она пыталась разобраться с форой, собственно, я тогда и узнал про MQL4.

Посмотрел я на этот 1С, мне стало нехорошо ))

 
Реter Konow:

2 года беспрерывного труда.

Ядро графического интерфейса (кстати есть еще прото-ядро содержащие прототипы элементов. Занимает 2 мегабайта. Состоит из таких таблиц, как та, что я привел), содержит тысячи переменных. Как Вы думаете, если бы не использовал ядро как центр и разбросал переменные по классам и структурам и налаживал бы между ними связь через различные разграничения доступа, я бы справился со своей задачей? - В одиночку никогда. Количество сущностей программы у меня увеличилось бы в несколько раз. Связи внутри кода между функциями и классами стали бы так сложны, что я бы просто был бы не в силах один продолжать работу. Эффективность работы всего механизма в целом упала бы.

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

Много раз задавал себе вопрос, - "что бы я достиг, если бы использовал ООП?" и каждый раз, опираясь на ежедневную практику, я понимал что не смог бы зайти так далеко в одиночку.

К тому же, мое мышление и так структурировано, и потому необходимости в ООП у меня в этом плане нет.


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

 
Dmitry Fedoseev:

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

Не хочу принижать Ваш труд или выделять свой, но Вы сравниваете слона и моську. Масштабы разные. Уровень сложности разный. У меня же не просто набор элементов управления. Это целая графическая среда, которую можно строить своим языком разметки. К тому же рисованная, а не объектная.
 
Реter Konow:
Не хочу принижать Ваш труд или выделять свой, но Вы сравниваете слона и моську. Масштабы разные. Уровень сложности разный. У меня же не просто набор элементов управления. Это целая графическая среда, которую можно строить своим языком разметки. К тому же рисованная, а не объектная.

Но тем не мене, это не работа на два года. Объем работы сопоставим с использованием графических объектов, но разумеется при грамотном подходе. Но два года убивать на это... извините, подвиньтесь.

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

А то, что вам все хочется унизить эту мою работу - мне давно понятно, так-что не надо никаких преамбул. Эта библиотека здесь как камень раздора, доведший толпу до массовых истерик.

 
Dmitry Fedoseev:

Но тем не мене, это не работа на два года. Объем работы сопоставим с использованием графических объектов, но разумеется при грамотном подходе. Но два года убивать на это... извините, подвиньтесь.

А то, что вам все хочется унизить эту мою работу - мне давно понятно, так-что не надо никаких преамбул. Эта библиотека здесь как камень раздора, доведший толпу до массовых истерик.

Унижать людей просто так мне не свойственно. Не наговаривайте.  Просто Вы масштаба не понимаете. Объяснить я наверное не смогу. Так что, считайте себя дальше "змей горынычем".)
 
Реter Konow:
Унижать людей просто так мне не свойственно. Не наговаривайте.  Просто Вы масштаба не понимаете. Объяснить я наверное не смогу. Так что, считайте себя дальше "змей горынычем".)

Сами думайте, но я по два года не пишу, то, что можно сделать за месяц.

 
Dmitry Fedoseev:

Сами думайте, но я по два года не пишу, то, что можно сделать за месяц.

Так сделайте, в чем проблема то?
 
Реter Konow:
Так сделайте, в чем проблема то?
Мне ненужно. 
 
George Merts:


СанСаныч вон, предлагает заменить ООП документированием .

Это Вы придумали - не предлагаю.

Из моей практики.

  • ТЗ - документ объемом коло 400 страниц. ТЗ рассматривается и утверждается
  • Далее технический проект. Этот документ готовило от 40 до 50 человек. По специальности это: экономисты разных специальностей, математики, алгоритмисты, сисадмины в нынешней терминологии, электронщики.
  • Далее рабочий проект. Здесь появляется разбивка на программы-функции. Производится собственно кодирование и отладка. Создается документация: разработчика, разных пользователей на ВЦ, разных прикладных пользователей (руководство, среднее звено, диспетчеры..).
  • Далее опытная эксплуатация. Основной показатель - это наработка на отказ. Если все правильно сделано, документировано, в основу кодирования положен принцип примитива, то время между отказами после очередного отлова багов должно уменьшаться по экспоненте. Если линейно, то скорее всего работать вообще не будет НИКОГДА.  

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

 
Пожалуйста не стоит отклоняться от темы топика.