metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-05-03 04:08 pm

Программистское мракобесие

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

А вот оказывается, что так и делают:
К этому моменту я выкинул все свои диаграммы классов, за ненадобностью – зачем на них смотреть, если они давно уже в голове?

[identity profile] golosptic.livejournal.com 2009-05-06 06:22 am (UTC)(link)
С тезисами про документацию я согласен - затраты на ее поддержание затормозят и повысят стоимость проекта в несколько раз, хотя считаю, что с этим надо как-то бороться, т.к. действительно в идеале должна быть возможность отдать проект совершенно другим людям на продолжение разработки.

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

Качество кодинга (и редизайна архитектуры) в будущем не может гарантировать никто - 2-3 раза лидер разработчиков поменяется, каждый новый - со своими идеями будет приходить, в отсутствие систематически ведущейся документации система начнёт из себя представлять откровенную неуправляемую помойку.