Когда мне было 20 и я работал в провинциальной конторе среди прочих некультурных и малооплачиваемых программистов, у меня был начальник. И мне казалось, что он организовал version control как мудак. А он организовал его так: в репозитории хранились комовские tlb'шки и dll'ки. Исходный код каждой dll-ки был только у программиста, писавшего dll'ку. Был еще, правда, бэкап исходников с девовских машин, на случай войны с марсианами. Когда разраб увольнялся, часто оказывалось, что в коде живут мыши и прочие насекомые, из tlb'шки генерировался новый шаблон и новый программист реализовывал все по новой.
Теперь мне тридцать и я бородат. Я повидал многолетние международные проекты, писаемые толпой индусов/китайцев/американцев/русских. Я понял жизнь и курю папиросы. И я осознал вдруг, что начальник мой был умнейшим человеком. В результате его политики продукт состоял из множества мелких кусочков, имеющих четкий и продуманный интерфейс. В каждый момент времени у него был продукт. Если какой-то модуль судьба заводила в тупик херовой реализации, не было проблем подождать один-два-три релиза со старым модулем, пока новая улучшенная версия была в разработке. Цена этого подхода — периодическая потеря исходников отдельных модулей, да и хер с ней. Все равно надо проводить рефакторинг время от времени. Если сравнить с другими проектами, где работали некультурные и малооплачиваемые программисты, исходный код, по крайней мере, не размазан в кашу, в которой каждый класс тяготеет к связям со всеми остальными классами в проекте (и гигабайты исходников)...
"Хранить говно в туго завязанных пакетах, лучше чем просто разложить его на полках"
С вышеуказанным резюме полностью согласен. Только вот почему у тебя альтернатив всего две? Есть как минимум третья — предотвращать появление говна
Re[2]: Так, мысли вслух
От:
Аноним
Дата:
05.09.11 10:53
Оценка:
Здравствуйте, avpavlov, Вы писали:
A>С вышеуказанным резюме полностью согласен. Только вот почему у тебя альтернатив всего две? Есть как минимум третья — предотвращать появление говна
Для этого требуются культурные и высокооплачиваемые программисты. См. мой текст еще раз.
А>Для этого требуются культурные и высокооплачиваемые программисты. См. мой текст еще раз.
Оплачиваемость тут не причём. А вот предотвращение появления в проекте некультурных программистов является частью рецепта номер 3, см. мой текст ещё раз
Re[4]: Так, мысли вслух
От:
Аноним
Дата:
05.09.11 11:47
Оценка:
Здравствуйте, avpavlov, Вы писали:
А>>Для этого требуются культурные и высокооплачиваемые программисты. См. мой текст еще раз.
A>Оплачиваемость тут не причём. А вот предотвращение появления в проекте некультурных программистов является частью рецепта номер 3, см. мой текст ещё раз
Оплачиваемость тут при том, что культурный низкооплачиваемый программист имеет тенденцию становиться культурным высокооплачиваемым программистом... в другом месте.
Здравствуйте, avpavlov, Вы писали:
A>"Хранить говно в туго завязанных пакетах, лучше чем просто разложить его на полках"
A>С вышеуказанным резюме полностью согласен. Только вот почему у тебя альтернатив всего две? Есть как минимум третья — предотвращать появление говна
Ох! Ты знаешь... Грамотно разбить проект на части — это СТООООООООЛЬКО работы экономит!