Конспекто-перевод презентации Энди Лестера “Get out of technical debt now!”
http://petdance.com/perl/technical-debt/
...
Картинка про долги: http://petdance.com/perl/technical-debt/technical-debt.002.html
Признаки долгов
- “Разве у нас нет документации по расположению файлов?”
- “Я думал, у нас был тест на этот случай…”
- “Если я поменяю X, поломается Y. Я подумаю.”
- “Не трогай этот код. Прошлый раз, когда мы попробовали – потом неделю чинили.”
- “Полетел жесткий диск. Где там у нас бэкапы?”
- “Где же письмо про этот баг?”
- “Убери это в комментарий с пометкой XXX. Попозже посмотрим.”
- “Напиши комментарий с пометкой TODO. Попозже посмотрим.”
- “Убери в TODO. Вот тут, сразу над XXX.”
Цена (проявление) долгов
- “Не знаю, что случилось! Я всего лишь поменял одну строчку!”
- “Мы не можем перейти на новую версию (TemplateToolkit’a – вариант мой), все сломается”
- “Усовершенствовать код? Нет времени!”
- “Мы не можем дорабатывать этот код. Его никто не понимает.”
Проценты по техническим долгам убьют тебя
Так что или плати по своим техническим долгам, или однажды…
устрашающая картинка: http://petdance.com/perl/technical-debt/technical-debt.020.html
Когда ты не можешь выполнить проект, который должен — ты банкрот.
Решение простое
- Определи и зафиксируй свои технические долги
- Определи стоимость
- Расплатись с наиболее выгодными (Pay the most profitable)
- Прекрати делать новые долги
- Повторяй по необходимости
Просто – не значит легко
Определи свои долги
Определи стоимость
Расплатись с наиболее выгодными
Выплати наиболее выгодный
- Выбери один
- Не выбирай самый легкий
- Не выбирай самый интересный (fun)
- Думай об улучшении, а не о совершенстве
- Просто возьми и сделай это! (JFDI)
И как я продам это своему боссу?
- Измерь (quantify) все эти штуки
- Улучшенная мобильность
- Улучшенное качество
- Уменьшенный риск
//Едем дальше//
Инструменты
- fluff – App::Fluff
- Perl::Critic
Спасибо за внимание!