Можно ли переоценить? - PullRequest
       12

Можно ли переоценить?

8 голосов
/ 10 сентября 2008

Мой вопрос прост; Возможно ли переориентировать ваш код?

Сколько это слишком много? В какой момент вы отказываетесь от читабельности и удобства обслуживания ради ОО?

Я огромный ОО человек, но иногда мне интересно, не усложняю ли я свой код ....

Мысли

Ответы [ 17 ]

28 голосов
/ 10 сентября 2008

возможно ли переориентировать ваш код

Да

3 голосов
/ 10 сентября 2008

Если вы думаете, что больше объектов более объектно-ориентировано, тогда да.

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

2 голосов
/ 10 сентября 2008

Мой совет не переусердствовать. Это обычно приводит к чрезмерному или недостаточному выполнению ЧТО-ТО (если не ОО). Эмпирическое правило, которое я обычно использую, таково: если это облегчает задачу, оборачивая голову, я использую объект. Если другая парадигма облегчит мою голову, чем если бы я использовал объект, я использую это.

Эта стратегия еще не подвела меня.

2 голосов
/ 10 сентября 2008

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

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

2 голосов
/ 10 сентября 2008

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

Мне судить «сколько» по размеру и объему проекта. Если это небольшой проект, иногда он добавляет слишком много сложности. Если проект большой, вы все равно будете брать на себя эту сложность, но он окупит себя за простоту обслуживания, расширяемости и т. Д.

1 голос
/ 10 сентября 2008

возможно ли чрезмерно ориентировать ваш код?

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

1 голос
/ 10 сентября 2008

Да, вы можете. Например, если вы создаете интерфейсы или абстрактные классы до того, как у вас есть для них два подтипа, то вы переусердствуете. Я часто вижу подобные мысли, когда разработчики (над) проектируют заранее. Я использую тестируемые методы разработки и рефакторинга, чтобы избежать такого поведения.

1 голос
/ 10 сентября 2008

Я думаю, что ваш вопрос должен звучать так: «Можете ли вы из-за архитектуры вашего приложения?»

И, конечно, ответ пока. ОО это просто подход к дизайну. Если вы тратите свое время на сборку ненужной сложности в системе, потому что «Полиморфизм качается!». Тогда да, может быть, ты закончил OOing.

Сам ответ XP заключается в том, что Независимо от того, какой подход вы предпочитаете (ОО, процедурный и т. Д.), Дизайн должен быть настолько сложным, насколько это очевидно необходимо .

1 голос
/ 10 сентября 2008

Многие люди пытаются спроектировать свой код для максимальной гибкости повторного использования, не задумываясь о вероятности этого. Вместо этого разбейте свои уроки на основе написанной вами программы. Если у вас будет ровно один экземпляр определенного объекта, вы можете рассмотреть возможность его слияния с содержащим его объектом.

1 голос
/ 10 сентября 2008

Да, точно так же, как можно чрезмерно нормализовать дизайн базы данных.

Это, похоже, одна из тех пуристических и прагматических дискуссий, которые никогда не закончатся. <: S </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...