<p align=right>
Документация -это кубометры вымоченной, размолоченной,
высушенной, отбеленной и спрессованной древесины, которые прилагаются к программному и аппаратному обеспечению компьютеров.
<p align=right>
<font color=#666666>"Словарь IT-терминологии"</font>
</font>
<p align=left>
Программисты ненавидят писать документацию. Заставить программиста подробно
и вдумчиво документировать свои разработки -это примерно то же
самое, что заставить российского собаковода убирать за своей собакой отходы
её жизнедеятельности. Заставить-то можно, но толку всё равно не будет.
<p>
Программистов можно понять -если разработку подробно
документировать, то это приведёт к ещё большему запутыванию и без
того запутанного проекта. <p>
В самом деле: вот мы составили план, вот мы ведём работы. Пишем код и тут же документируем его. Затем (и конечно же <i>вдруг</i>) выясняется, что эта вот хрень работает сосвсем не так, как надо, а заказчик, <i>оказывается</i>, совсем забыл предупредить, что
он-то имел в виду не двенадцатиэтажный блочный дом, а двенадцать одноэтажных
коттеджей, соединённых подземными туннелями.
<p>
Все эти вещи, само собой, выясняются за пару дней до сдачи очередного этапа
(а если повезёт, то это будет сдача не этапа, а всего проекта). Люди не спят
ночами и переписывают код с такой скоростью, как будто им платят за количество
знаков, набиваемое в единицу времени. Времени и желания переписывать <i>ещё и документацию</i> ни у кого, разумеется, не остаётся. <p>
Таким образом, после первого же аврала мы имеем расхождение документации и реального положения дел. Что уже само по себе может стать причиной следующего аврала -даже если над проектом работает всего-то один человек.
Портрет программиста, чешущего репу на предмет "блин, и что же я хотел сказать
этой вот функцией?" уже давно стал классикой. Ну а принцип "не убирай из проекта непонятный
и явно ненужный код, потому что он может оказаться критически важным" давно
стал признаком профессионализма.
<p>
Понятно, что речь идёт о технической, <i>внутренней</i> документации, предназначенной
исключительно для разработчиков и проектировщиков. User's manual -это
отдельная песня и здесь мы её петь не будем.
<p>
Получается, что документация в её классическом виде (см. эпиграф) есть не бесполезная трата времени, а скорее <i>вредная</i> трата времени. Вспомните, когда вы последний
раз <i>по-серьёзному</i> документировали свои разработки и чем это закончилось.
Вопрос, как заставить программистов документировать код, поддерживать документацию
в актуальном состоянии, и чтобы при этом проекту
не наносился ущерб, только кажется сложным. Ответ прост, как мычание
документация должна быть <i>частью кода</i>. Выбрасываем код, выбрасывается и
документация к нему. Добавляем -добавляется.
Читать всю статью: http://www.klerk.ru/soft/1c/?1739