Post on 16-Jun-2015
Импотека или как перестать
залезать в долги
18+
@maxbeard12
О себе
Шульга Максим
9 лет в погонах
13 лет в software development
Руководитель разработки
“Код Безопасности”
http://maxshulga-ru.blogspot.ru
@maxbeard
Поговорим о чем мы
• Парадокс технического долга
• Виды долгов в работе разработчика
• Как с ними бороться?
• Итого
@maxbeard12
Технический долг
Разница между идеальным техническим
решением и тем решением, которое
принимается сейчас
К долгу относится только реализация:
“КАК” сделано, а не “Что”
@maxbeard12
Технический долг
Разница между идеальным техническим
решением и тем решением, которое
принимается сейчас
К долгу относится только реализация:
“КАК” сделано, а не “Что”
=> ДОЛГ РЕАЛИЗАЦИИ
@maxbeard12
Долг реализации
• неверные архитектурные решения
• “костыли” - “временные” решения
• невозможность рефакторинга
@maxbeard12
@maxbeard12
Долг реализации (бороться как?)
Долг реализации (бороться как?)
“***ь, чтоб дебажить эту судорожную ***у так время есть, а
чтобы рефакторить нету” (с)
• архитектура: баланс между “продумали” и
“перемудрили”
• “костыли” - только так, чтобы легко исправить в
будущем и с фиксацией долга
• РЕФАКТОРИНГ с умом
@maxbeard12
Долг реализации (бороться как?)
А что делать, если у меня legacy код?
@maxbeard12
Долг реализации (бороться как?)
А что делать, если у меня legacy код?
@maxbeard12
Технологический долг
Отказ от применения новшеств в
языках, фреймворках,
инструментах
• С++11
• boost
• IDE
• свои “велосипеды”
@maxbeard12
Технологический долг (бороться как?)
• Проще убедить применять то, в чем разбираешься ты
• Другие языки изучай ты - расширяй кругозор свой
@maxbeard12
Процессный долг
• Continuous Integration
• Ревью кода
• Статический анализ
• Тесты
• Гибче, еще гибче :)
@maxbeard12
Отказ или затягивание принятия решений по применению
правильных инженерных практик:
Процессный долг (бороться как?)
@maxbeard12
Просто берем и делаем:
• Continuous Integration
• Ревью кода
• Статический анализ
• Тесты
• Гибче, еще гибче :)
Долг компетенции
Возникает из-за узкоспециализированной
разработки, когда в команде есть
человек(и) с уникальными знаниями
Усугубляется отсутствием обмена
знаниями
@maxbeard12
Долг компетенции (бороться как?)
• Больше общаемся
• Меняемся задачами
• Ревью кода
• Парное программирование
@maxbeard12
А что в итоге?
Технический долг:
• долг реализации
• технологический долг
• процессный долг
• долг компетенции
Кругом долги, как страшно жить :)
Бери да помни:
не штука занять, а штука отдать (с)
@maxbeard12
А что в итоге?
@maxbeard12
Спасибо! Вопросы?
Шульга Максим
maxim.shulga@mail.ru
@maxbeard12
http://maxshulga-ru.blogspot.ru