!!!!!!!!!!!!!!!!!!!! Важно. Золотая статья!!!!!!!!
Оптимизируйте, оптимизируйте, оптимизируйте, только не код, а время разработки + время исполнения.
(с) Аксенов
Осознавал это уже много раз, но все равно не могу до конца перевернуть себя из обучения к «деланию».
Пока пришел к следующей технике.
1. Быстрое проэктирование на бумажке: 2 дня часа по 3 в день.
2. Прототип — главное чтобы работало.
никаких фишек, все удобства и автоматизации, которые пришли в голову:
hard coded с интерфэйсами для возможного рефакторинга.
3. Проверка боем — основные функции
4. Главное — пересмотр проэктирования на основе рабочего компонета,
выделение сущностей, разнесение по классам, уменьшение дублирования кода
5. Рефакторинг на основе 4 + обвязка юнит тестами если возможно, Документация.
но 5 пунтк затягивается иногда.
Кстати если не делать 4 и 5 в течении пары лет, то код превращается в такое месиво, что страшно смотреть (еслм пишется несколькими сменяющимися людьми)
------------------------
Я на протяжении 4-х лет периодически возвращался к написанию «своего» биллинга, хотя был рабочий freenibs. Идея эта овладевала в моменты очередного аврала, и закидывалась когда месяцами билинг работал.
Теперь возвращаюсь к вопросу: «Как от этого избавиться?».
Я когда-то откопал backup'ы своих «проектов» биллинга. И посмотрел, что в конце концов биллинг превратился в 1-н скрипт нарезки скорости и 1-н скрипт снятия абонплаты в базе, которые можно написать за 1-н день. И Меня торкнуло, так как Я около 10-ка раз перепроектировал архитектуру «будущего» биллинга, а за это время менялись технологии: php4=>php5, function => class'es, pure php =>framework, freeradius =>netflow => отсутствие учёта траффика.
Тогда то Я понял, что код — способ выразить мысли с помощью языка программирования. Мы же не упражняемся в идеальном построении предложении при общении.
----------------------------------
Очень хорошо, что Вы увидели всю ущербность доведенного до крайности идеализма-перфекционизма, но вырвавшись из одной крайности, не нужно искать выход в другой крайности. Это все ровно, что человек, спонтанно осознавший ущербность общества потребления, финансового механизма и власти денег, бежит от этого в глухой лес, где его не достанет циви