LINUX.ORG.RU

Те, которые нравятся тебе. Здесь нет железной методологии которая рулит все и вся. Так же как нет «лучшего» ЯП.

umren ★★★★★
()

не знаю, при чем тут ООП, но KISS и DRY рулят. остальное для меня страшный набор букв.

Lincor
()

Что есть ООП?

Что означает «ООП» из заглавия?

Если объектно-ориентированное программирование, то оно никак не связано с написанным ниже.

Camel ★★★★★
()

YAGNI противоречит SOLID

Нет. И YAGNI KISS DRY не принципы ООП, они более общие.

goingUp ★★★★★
()

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

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

Скажем, стартует проект, над которым на протяжении нескольких лет будут работать пол-дюжины программистов, пол-дюжины тестеров, пара аналитиков, спецы по гуйне. Нужен работающий прототип решения через квартал, бета-версия через пол-года после прототипа, и полновесная production-ready версия (с учетом фидбека от беты) через год после беты. Требования и приоритеты по требованиям за это время множество раз изменятся. Как организовать код, чтобы избежать ненужных трудозатрат при реализации новых неожиданных требований? Как организовать код, чтобы тонны его, высранные десятком творческих личностей, не превратились через год в неуправляемое НЁХ? Вот тут SOLID и оказывается настоящим спасением.

Manhunt ★★★★★
()

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

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

в SOLID ты запиливаешь лишние классы

Где в SOLID предлагается запиливать *лишние* классы?

строишь огромные иерархии

SOLID помогает тебе понять, как правильно структурировать программу. А «иерархии» (давай только предпочитать композицию наследованию, так что большие *иерархии* будут редкостью) растут по мере реализации всё новых фич твоей программы. Пока фичи нет — нет и кода, который её реализовывал бы, и стало быть в коде нет соответствующих этой фиче сущностей. В норме, на этапе проектирования ты можешь даже и не подозревать, что такую фичу у тебя потом закажут. Построенный в соответствии с SOLID код позволяет встроить новую фичу с минимум рефакторинга, без долбанутых на всю голову хаков, без сломанных абстракций.

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 2)
Ответ на: комментарий от pozitiffcat

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

invy ★★★★★
()

Когда я был маленький — спрашивали какой компилятор лучше (они все были очень разные. Объединяло их лишь то, что все они были говном).
Потом стали спрашивать «А что бы такого почитать» (Как будто для того чтобы программировать надо читать).
Теперь и вовсе спрашивают про какие-то там «принципы».

Какую бредятину только не спрашивают лишь бы не приступать к собственно программированию.

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

Как будто для того чтобы программировать надо читать

Ты не поверишь...

Manhunt ★★★★★
()

У меня в гараже есть отвертка, молоток и пила.

Подскажите, каким инструментом лучше пользоваться?

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

У меня в гараже есть отвертка, молоток и пила.
Подскажите, каким инструментом лучше пользоваться?

Lisp!

anonymous
()

SOLID для ООП. Остальное ортогонально ООП. Противоречий нет.

anonymous
()

чё?

по классике принципов ооп всего три

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