веб-архитектура спагетти - PullRequest
4 голосов
/ 27 февраля 2009

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

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

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

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

Ответы [ 2 ]

1 голос
/ 27 февраля 2009

«Дорога в ад вымощена благими намерениями.»

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

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

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

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

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

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

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

1 голос
/ 27 февраля 2009

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

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

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

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

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

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