LINUX.ORG.RU

OOP: хорошо или плохо


0

1

Ваше отношение к OOP. Хорошо или плохо? Почему все говорят что OOP код проще читать? Я наблюдаю обратное. Берём какой нибудь OOP код и вместо того что бы увидеть реализацию алгоритма имеем сотни если не тысячи каких то мелких методов, классов. И со всеми ими надо ознакомиться что бы понять сущность написанного. И что самое неприятное - каждый из этих классов, функций, методов использует ещё дохера других. Такая вот рекурсия. Очень бесит что OOP суют везде. Разобраться со OOP кодом намного сложнее чем с алкоритмическим.


Ваше отношение к OOP. Хорошо или плохо?

С религией - в толксы. Каждый метод имеет право на существование в своей области.

Очень бесит что OOP суют везде.

Загляни в ядро.

Берём какой нибудь OOP код и вместо того что бы увидеть реализацию алгоритма имеем сотни если не тысячи каких то мелких методов, классов.
Разобраться со OOP кодом намного сложнее чем с алкоритмическим.

Иди почитай книги.

mopsene ★★★
()

Так отношение к OOP или отношение к тем, кто суёт OOP везде?

schizoid ★★★
()

тут не в ооп дело. дырявые абстракции.jpg

anonymous
()

Ваше отношение к OOP.

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

Берём какой нибудь OOP код и вместо того что бы увидеть реализацию алгоритма имеем сотни если не тысячи каких то мелких методов, классов.

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

А если программист криворукий, то не важно, ООП там или нет. Всё равно нечитабельно будет.

anonymous
()
Ответ на: комментарий от mopsene

Загляни в ядро.

В ядре полно ООП.

anonymous
()

Хорошо или плохо?

Скорее — плохо. Миксины гораздо лучше.

iZEN ★★★★★
()

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

quantum-troll ★★★★★
()

Да, но не совсем.

// GROUP loriter

anonymous
()

алкоритмическим

В зале послышалось пьяное хихиканье.

Программируй соответственно задаче. Если у тебя участвует 100500 разных сущностей, то можно и ООП.

SOmni ★★
()

Смотря что понимать под ООП. Всё-таки, adhoc-полиморфизм — штука небесполезная, а если параметрического нет — вообще обязательная.

Miguel ★★★★★
()

ОПП - это по сути развитие идей модульности в императивных языках. Ничего плохого в модульности не вижу. Если кто-то умудряется только запутывать все используя ООП - то это его проблемы, а не ООП. ИМХО хороший ООП дизайн подразумевает KISS, YAGNI. Кто клепает сущности «шоб было» - ССЗБ.

dizza ★★★★★
()

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

Паттерны? Не представляя что это такое и какие из них используются в приложении очень трудно понять и проследить цепочку выполнения инструкций. Часто это называют архитектурой приложения.

Это звук неизбежности, Нео :)

valich ★★★
()

Разобраться со OOP кодом намного сложнее чем с алкоритмическим.

Не согласен. Хоть я и не веб-прогарммист, но *принципы*, именно принципы, ООП - можно очень адекватно применять, чтоя и делаю.

Под «ООП» можно понимать очень много всего.

bk_ ★★
()

имеем сотни если не тысячи каких то мелких методов, классов

man fine-grained design

slackwarrior ★★★★★
()

вместо того что бы увидеть реализацию

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

slackwarrior ★★★★★
()

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

А что такое алкоритмический язык? Это что-то о пьяных танцах? :)

Alve ★★★★★
()
Ответ на: комментарий от dizza

ООП разное бывает. Классическое ООП, объектно-ориентированные костыли Си++ (структурное ООП), прототипное программирование тоже называют ООП.
«I invented the term Object-Oriented, and I can tell you I did not have C++ in mind». — Alan Kay

quantum-troll ★★★★★
()
Ответ на: комментарий от quantum-troll

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

dizza ★★★★★
()

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

CrossFire ★★★★★
()
Ответ на: комментарий от amaora

что такое OOP

«Традиционное процедуральное („алкоритмическое“) программирование создает структуру зависимостей, в которой бизнес-политика зависит от деталей реализации. К сожалению, при этом политика становится чувствительной к изменениям в деталях реализации. Объектно-ориентированное программирование преобразует структуру зависимостей так, что и политика, и детали реализации зависят от абстракции...
Неважно, на каком языке написана программа. Если зависимости преобразованы, у нее объекто-ориентированный дизайн. Если нет, у программы процедуральный дизайн.»

-- Роберт Мартин, «Agile Principles, Patterns, and Practices in C#»

lxgreen
()
Ответ на: что такое OOP от lxgreen

Под такое определение не попадают только хелловорлды и частично некоторая старьевщина.

amaora ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.