Технический долг: различия между версиями

[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 1:
'''Технический долг''' (также известный как '''долг кодинга''') - это метафора-[[неологизм|неологизм]], которая может возникнуть по причине плохой продуманности структуры системы, непродуманной [[архитектурыАрхитектура программного обеспечения|Архитектураархитектуры программного обеспечения]] или некачественной [[разработки ПО|Разработка программного обеспечения|разработки ПО]].
Долг может рассматриваться в качестве работы, которую необходимо проделать перед выполнением какого-либо конкретного задания. Если долг не погашается, то он будет продолжать увеличиваться, что затруднит дальнейшую разработку ПО. Не адресованный технический долг увеличивает энтропию ПО.
 
Строка 22:
Накопление технического долга является основной причиной для превышения сроков дедлайнов проектов. Трудно оценить, сколько именно работы необходимо выполнить для погашения долга. Неопределенное количество незавершенной работы добавляется в проект с каждым инициированным изменением. Сроки дедлайнов горят, когда в проекте приходит понимание того, что есть еще гораздо больше незавершенной работы (долга), чем времени для её завершения. Чтобы иметь предсказуемые графики выпуска, команда разработчиков должна ограничить количество выполняемой работы до такого, которое позволило бы минимизировать объемы незавершенной ранее работы (долга).
 
{{quotation |"Пока развивающаяся программа постоянно меняется, её сложность, отражая ухудшение структуры, увеличивается, пока не будет выполняться работа по поддержке оной." |[[:en:Meir Manny Lehman|Меир Мэнни Леманн]], 1980}}
 
В то время как Закон Мэнни Лемана уже доказывал, что постоянное развитие программ увеличивает их сложность и ухудшает структуру, пока ведется работа по ним, Уорд Каннингем впервые провел сравнение между технической сложностью и долгом в отчете за 1992 год:
 
{{quotation |"Создание первого временного кода, - это как влезание в долги. Небольшой долг ускоряет разработку до тех пор, пока не будет своевременно оплачиваться в виде переписывания ... Опасность возникает, когда долг не погашен. Каждая минута, потраченная на не-совсем-правильный код учитывается в качестве процента по этому долгу. Целые инженерные организации могут быть привлечены к простою из-за долговой нагрузки неконсолидированной реализации, объектно-ориентированной или иной."<ref name='oopsla92'>{{cite web|url=http://c2.com/doc/oopsla92.html|title=The WyCash Portfolio Management System|date=1992-03-26|accessdate=2008-09-26|author=[[Ward Cunningham]]}}</ref> |[[:en:Ward Cunningham|Ward Cunningham]], 1992}}
 
В своей статье от 2004 года, '' Рефакторинг с использованием шаблонов '', Джошуа Кериевски представляет в качестве аргумента сравнение расходов, потраченных на решение вопросов, связанных с архитектурной халатностью, которую он описывает как "долг структуры".<ref name="rtp">{{cite book|isbn=0-321-21335-1|first=Joshua|last=Kerievsky|title=Refactoring to Patterns|year=2004}}</ref>