2009-02-27 3 views
4

Я заметил, что большинство корпоративных веб-приложений, над которыми я работал в течение последних нескольких лет, по-видимому, неправильно использовали полномочия оо.oo-spaghettio web architecture

То есть то, что когда-то было бы, возможно, 1000 строк HTML и скрипта, часто превращалось в 10 000 строк кода, 50 классов и вызовы методов 2000, чтобы сделать в основном одно и то же. То есть oo и многоуровневая архитектура, по-видимому, чрезмерно используются и/или плохо используются, что часто приводит к увеличению времени разработки, более дорогостоящему и часто кошмарному обслуживанию.

  • Как часто другие люди видят это?

  • Как оо могут быть эффективно использованы, чтобы, как сам Будда сказал: как можно больше стараться, чтобы не навредить ... как можно попытаться помочь ...

+0

Гораздо лучше. Все еще субъективно, но неплохо. –

+0

Я не вижу разницы между этим и более подробным http://stackoverflow.com/questions/504517 - Голосование, чтобы закрыть как точный дубликат. Оба ориентированы на обсуждение, возможно, вы могли бы задать вопрос, а не задавать новый вопрос. –

ответ

1

«Дорога в ад проложена лучшими намерениями».

Я лично не сталкивался с этим сам, но все время, когда я слышал истории, это вопрос architecture astronauts (люди, которые слишком много времени думают) или плохие разработчики (люди, которые проводят слишком мало времени мышления).

В первые дни программирования, вы не видели, как большая часть этого из-за пределов аппаратных средств, языков и т.д.

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

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

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

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

См.: Джефф написал хорошее сообщение в блоге только о таких вещах: KISS and YAGNI.

+0

Я действительно думаю, что реальная проблема заключается в том, что код этих разработчиков является беспорядком с использованием принципов ООП или нет. Это просто другой беспорядок :(... – eglasius

1

Я вижу все это время :(В принципе, если люди собираются сделать беспорядок, они сделают это, пытаясь или не использовать дизайн оо. В любом случае он становится одинаково ужасным.

Обновление 1: Важно понимать, как/что будет использоваться повторно (но не сходит с ума от него, поскольку это будет препятствовать производительности), поскольку мы не хотим получать тонны классов, каждый из них не используется повторно и выполняет множество различных функций.

В основном основная проблема заключается в понимании и заботе о том, что строится, поскольку вы можете применять оо, tdd, ddd, что угодно, и если разработчики не понимают, что они делают, это закончится тем же беспорядком ... или худший :(

Нижняя линия, эти вещи действительно помогают, но они не являются магическими, они не заменят навыков разработчиков для создания поддерживаемого кода

Update 2:. Также обратите внимание на что контрольный список или некоторые пункты не будут делать это. Я имею в виду, что я люблю SOLID, и много чего происходит, и я думаю, что они действительно проясняют ситуацию, но они обычно оказывают наибольшее влияние на людей, которые пытался избежать беспорядка.

+0

Я согласен с вашей точкой тоже Фредди. Плохие разработчики - плохие разработчики, и они просто не знают, как использовать инструменты. Инструменты могут сделать вещи проще, но если они не используются правильно, они также могут пострадать. Часть написания хорошего кода - это желание писать хороший код и страсть к разработке программного обеспечения. –