Spisu treści:
Definicja - Co oznacza dług techniczny?
Dług techniczny jest koncepcją w programowaniu, która odzwierciedla dodatkowe prace programistyczne, które powstają, gdy zamiast łatwego zastosowania najlepszego rozwiązania ogólnego stosuje się kod, który jest łatwy do wdrożenia w krótkim okresie.
Dług techniczny jest zwykle kojarzony z ekstremalnym programowaniem, szczególnie w kontekście refaktoryzacji. Oznacza to, że restrukturyzacja istniejącego kodu (refaktoryzacja) jest wymagana w ramach procesu programowania. Zgodnie z tym tokiem myślenia refaktoryzacja jest nie tylko wynikiem źle napisanego kodu, ale jest również wykonywana w oparciu o ewoluujące rozumienie problemu i najlepszy sposób jego rozwiązania.
Dług techniczny może być również znany jako dług projektowy.
Techopedia wyjaśnia dług techniczny
Termin został wymyślony przez Warda Cunninghama, programistę znanego również z tworzenia pierwszej wiki. Dług techniczny to metafora, która utożsamia rozwój oprogramowania z długiem finansowym. Wyobraź sobie, że masz projekt, który ma dwie potencjalne opcje. Jeden jest szybki i łatwy, ale będzie wymagał modyfikacji w przyszłości. Drugi ma lepszy projekt, ale jego wdrożenie zajmie więcej czasu. W fazie rozwoju wydawanie kodu jako szybkiego i łatwego podejścia jest jak zaciąganie długów - wiąże się z obowiązkiem odsetek, który w przypadku długu technicznego ma formę dodatkowej pracy w przyszłości. Poświęcenie czasu na refaktoryzację jest równoznaczne ze spłatą kwoty głównej. W krótkim okresie wymaga to czasu, ale zmniejsza także przyszłe odsetki.
Ward Cunningham opisuje tę koncepcję w 1992 roku w następujący sposób:
„Wysyłanie kodu za pierwszym razem jest jak zadłużanie się. Trochę długu przyspiesza rozwój, pod warunkiem, że zostanie on spłacony natychmiast po przepisaniu. Przedmioty sprawiają, że koszt tej transakcji jest do przyjęcia. Niebezpieczeństwo pojawia się, gdy dług nie zostanie spłacony. Co minutę wydane na niezupełnie poprawny kod liczy się jako odsetki od tego długu. Całe organizacje inżynieryjne mogą zostać postawione w stan spoczynku pod obciążeniem zadłużeniem wynikającym z nieskonsolidowanej implementacji, obiektowej lub innej ”.
Ta koncepcja nie oznacza, że dług nigdy nie powinien zostać zaciągnięty. Tak jak dźwignia może pomóc firmie, gdy jest właściwie używana, tak szybkie rozwiązanie może oznaczać szybszy czas na wprowadzenie na rynek oprogramowania. Ponadto dług techniczny to nie tylko słaby kod. Zły kod to zły kod, a dług techniczny może wynikać z pracy dobrych programistów przy nierealistycznych ograniczeniach projektu.