Укрощение кода или кодекс труда для большой команды программистов
Аллоды Online 20 программистов строк java кода строк C++ кода строк C# кода
Дайте поработать!
Эволюция build системы Главный программист –Триггеры: плохо настраиваемые –Notifications: отличные –Масштабируемость: отвратительная Набор.bat файлов –Триггеры: плохо настраиваемые –Notifications: плохие –Масштабируемость: плохая
Builder Гибкие триггеры Удобные notifications (не почта!) Хорошая usability Масштабируемость
TeamCity
Build manager
Эволюция проекта
Адская лапша
Хотели, как лучше...
Почему? Программисты не договорились Слабый контроль за кодом Срочные фиксы и фичи (бойтесь todo!) Не произведённый вовремя рефакторинг Отсутствие автоматических тестов
Коммуникации это наше все
Архитектура UML? Картинки на wiki? Головы программистов?
Автоматический контроль (structure101)
Code review Обычный «Тяжелая артиллерия»
Code Collaborator
Автоматизация качества Не весь код проходит через review Code review и так сложный процесс, хорошо бы его упростить Зачем делать то, что можно поручить роботу?
Inspections!
Системный программист Builder Svn Система таскооборота Художники, дизайнеры Inspections Инструменты контроля кода
Рефакторинг
Unit tests и правильные инструменты
Но этого мало...
Вопросы?