| Программы глючат из-за неверного понимания порядка вещей. Попытки исправить их с помощью патчей, как делают западные варвары, противны этикету и должны быть упразднены. Совершенно мудрый постигнет истинный смысл и необходимость глюков. |
| Конфуцианство в терминах программирования. |
Хотите узнать, почему программы производят лёгкое впечатление тяжёлой недоработанности? Виновата во всём, как обычно, погоня за длинным долларом.
Вот как это происходит:
Процесс разработки программного обеспечения делится на четыре главных стадии: планирование продукта, разработка, тестирование и внедрение, то есть распространение, продажа, снятие сливок, — то, ради чего вся бодяга и затевалась. Если пропустить хоть одну стадию, продукт до конечного потребителя не дойдёт. Важное уточнение: момент перехода от одной стадии к другой необратим. Нельзя во время разработки менять планы. Нельзя во время тестирования заниматься разработкой. Это краеугольный камень всей науки о создании программ.
( Пример того, как неудачное планирование продукта погубило классную программу )Как бы это странно ни звучало, но необходимо очень точно представлять себе, что за проект ты собираешься писать, в мельчайших деталях, до того, как будет написана первая строчка кода. Необходимо совершенно точно знать, какие задачи твоя программа или кусок программы будет решать, и как будет решаться каждая из этих задач, а — главное — какие задачи твоя разработка решать не будет. И это понимание не должно изменяться в течение всей работы над проектом. Приступил к работе — всё, поезд ушёл, все возможные изменения побоку запишите в план для следующей версии, пожалуйста.
Почему «в мельчайших деталях»? Потому что иногда какая-нибудь мелкая деталь из одного куска может аукнуться в совсем другом месте программы.
( Пример из моего личного опыта )А теперь — то, ради чего всё это писалось: руководство, как за неделю написать трёхмесячный проект.
( Читать и понимать, почему наши программы такие, какими они являются )PS: Опубликовали.