[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Немного моих наблюдений на тему ООП
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Ron
Фуууух, нееет, придется подключаться, хотя бы одним постом вот этим, а там видно будет.

twin, а зачем так ставить вопрос? Сравнивать хорошую структуру на процедурке с говнокодом на ООП? Надо рассматривать равные условия и хороший программист напишет код гораздо более читабельным и поддерживаемым именно в парадигме ООП, чем он же (важно! и в этом подмена понятий у твина!) на процедурке. Но есть один нюанс. Тот кто будет читать код, тоже должен быть достаточной квалификации.

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

Поэтому в первых-то книгах по ООП, на примере С++, начинали объяснение понятия "объект" как "структура данных, объединенная с функциями". Побольше бы интересовались теорией (и даже историей) - не было бы холиваров никаких. Очень рекомендую. Знание теории в науке по большей части теоретической, знаете ли, идея не самая плохая. wink.gif

А про то что инкапсуляция для защиты, я так и не понял, это штука такая, да? =)))

ООП вообще не ради преемственности создавалось. Да, качественный код в ней читается и реверсится проще, но не более. Опять идея навязанная кое-кем и совершенно не ключевая в реальной жизни. Алгоритмы, независимо от парадигмы, никто не отменял. Если дать хитрый алгоритм раздолбаю, то получится примерно так же как с хирургами. Разве что на кону не будет стоять человеческая жизнь, хотя тут как знать, если это прошивка ЭБУ автомобиля, или код для медицинских целей. То есть мало того что нужно понимать парадигму, но еще помимо много всего прочего. Все правильно, она не от чего не защищает. Да и не должна. Но и ничему не мешает, а наоборот, в умелых руках только помогает.

Как это взять и дописать за кем-то чужой проект вот так сразу? Дудки, сначала будет многочасовой реверс, изучение ТЗ и всякое прочее. До начала фактических работ по доделке могут пройти недели и даже месяцы. И какая же преемственность? Чем так эпично помог ООП, чтобы ради него работодатели всего мира вступили в заговор, начали популяризировать и т.д.? Ничего подобного просто нету. wink.gif

twin
Цитата (Zzepish @ 23.06.2019 - 14:44)
Фишка инкапсуляции в том, что тебе должно быть пофиг, как работает код. Это как в машине система управления. Ты же не лезешь под капот, чтоб все перебрать и посмотреть? Но можешь же? Можешь. Тут так-же.

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

Цитата (Ron @ 23.06.2019 - 16:31)
twin, а зачем так ставить вопрос? Сравнивать хорошую структуру на процедурке с говнокодом на ООП?

Так вот именно. Только обычно наоборот сравнивают. Я же не говорю, что ООП плохо всегда. Я говорю, что не всегда хорошо. А мне заладили одно и то же. Что есть две градации - ООП и говнокод. Смешно. smile.gif

Цитата (Ron @ 23.06.2019 - 16:31)
А про то что инкапсуляция для защиты, я так и не понял, это штука такая, да? =)))

Воспринимай как хочешь, но в тобой же приведенном примере с Сишкой, инкапсуляция считается неполноценной, если нет защиты. В PHP еще изредко холиварят, хотя коню понятно, что приемников защищенной инкапсуляции в разы больше. Она стала уже словом нарицательным, подразумевающим защиту, как Xerox стал синонимом копировального аппарата, хотя у них полно и других девайсов.

Можно провести эксперимент. Сделать все свойства и методы публичными и сказать, что тут инкапсуляция. 9 из 10 ООПэшников скажут - ГДЕ??? Хотя по сути она есть, как тот суслик))
Да и само понятие "инкапсуляция" (помещение в капсулу) по сути синоним "изоляция". То бишь защита либо кода и данных от внешних воздействий, либо наоборот - защита окружающей среды от влияния на неё инкапсулируемого кода.

Цитата (Ron @ 23.06.2019 - 16:31)
Да, качественный код в ней читается и реверсится проще, но не более. Опять идея навязанная кое-кем и совершенно не ключевая в реальной жизни. Алгоритмы, независимо от парадигмы, никто не отменял. Если дать хитрый алгоритм раздолбаю, то получится примерно так же как с хирургами.

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

С Доктриной очень удачный пример. Появилась проблема, появилась доктрина. И мало кого интересуют подробности. Ленивая загрузка - отлично! Контроль уникальности entity - ваще круть! Режь, шей! И режут. И шьют. Пока не становится совсем поздно. Пока стучащий двигатель не заклинит основательно. Но мы не виноваты, это же издержки... Инкапсуляция! Мы то руль правильно крутили, а что там под каптом - пусть Гансы отвечают.

А потому что ООП. Чтоб все попроще. А ты говоришь матан. Да где там.

Цитата (Ron @ 23.06.2019 - 16:31)
И какая же преемственность? Чем так эпично помог ООП, чтобы ради него работодатели всего мира вступили в заговор, начали популяризировать и т.д.? Ничего подобного просто нету.

Да не потому его популяризуют. А потому, что его легче контролировать. Потому что там шаблоны, там инкапсуляция, там универсальность, там куча готовых решений. Соответственно такой программист предсказуем, неинициативен, а значит легко управляем и неприхотлив. Чуть что не так - бац по рукам: не изобретай велосипед! Делай как все, патерны-шматерны. А то тебя остальные бестолочи не поймут.

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

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

Только это утопия. Как и твердое обещание купить в супермаркете только булку хлеба и пакет молока. С этим сами по себе люди не справляются. А значит либо нужен список, либо контрлер в виде жены. Потому что иначе все равно прихватишь пивка. Так вот контролировать ООП конечно же проще, а потому эволюция выталкивает его наверх. smile.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

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

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.