Kod jednorazowy to kłamstwo

Ludzie mówią, że w erze AI trwałość kodu umarła. Twierdzą, że AI przepisuje kod 10-krotnie szybciej. Pytają, po co pisać trwały kod, skoro można go po prostu wygenerować ponownie później.

Ta idea to iluzja. Wynika ona głównie od osób, które nie zajmują się utrzymaniem oprogramowania.

Argument brzmi przekonująco. Masz niechlujny codebase. Postanawiasz go wyrzucić i prosisz AI o coś czystszego. Wydaje się to postępem. W rzeczywistości jest to porażka inżynieryjna.

Oto o czym ludzie zapominają w przypadku ustalonego codebase'u. To coś więcej niż logika. To zapis każdego naprawionego błędu.

Ta dziwna instrukcja if w linii 412 istnieje z konkretnego powodu. Obsługuje ona specyficzny błąd dostawcy płatności podczas zmiany strefy czasowej. Tej logiki nie ma w żadnym tickecie. Ona żyje w kodzie.

Każde przepisanie kodu powoduje utratę pamięci. Tracisz wiedzę ukrytą i obsługę przypadków brzegowych. AI potrafi szybko pisać kod, ale nie potrafi odtworzyć przeszłych decyzji Twojego zespołu. Nie potrafi odtworzyć miesięcy pracy włożonych w logikę ponawiania prób po awarii systemu.

Szybkość produkcji nie jest szybkością zrozumienia. Możesz wygenerować tysiąc linii kodu w kilka minut. Czytanie tysiąca linii kodu wciąż zajmuje godziny. AI nie zmienia tego stosunku.

Pisanie na klawiaturze nigdy nie było najtrudniejsze. Najtrudniejsze było wymyślenie, co napisać.

Traktowanie kodu jako jednorazowego oznacza, że traktujesz również swoich użytkowników i swój uptime jako jednorazowe. Każde przepisanie tworzy okno ryzyka. Każde okno ryzyka prowadzi do regresji. Każda regresja uderza w użytkownika, który Ci ufa.

Jeśli budujesz projekt na weekend, przepisuj go, kiedy chcesz. Nikogo to nie obchodzi.

Ale jeśli zarządzasz produktem, na którym polegają ludzie, nie możesz pozwolić sobie na taki luksus. Nie możesz pozwolić sobie na psucie rzeczy o 2 nad ranem w święto.

Przepisanie kodu nie naprawia długu technicznego. Ono tylko resetuje licznik czasu do momentu jego ponownego znalezienia.

Ta narracja służy ludziom, którzy tylko zaczynają projekty, ale nigdy ich nie utrzymują. Służy ludziom, którzy sprzedają ideę, że AI czyni wszystko wymiennym. Nie służy inżynierowi, który dostaje powiadomienie, gdy przepisanie kodu kończy się porażką. Nie służy użytkownikowi.

Utrzymanie to rzeczywistość oprogramowania. Kod jednorazowy to filozofia, która sprawdza się tylko wtedy, gdy nigdy nie musisz dbać o ciągłość działania systemu.

Używaj AI, aby pomagało Ci pisać lepszy, bardziej trwały kod. Nie używaj go jako wymówki do odbudowywania wszystkiego od zera.

Trwałość sprawia, że zwinność staje się możliwa do utrzymania.

Jaki jest najstarszy fragment kodu w Twoim systemie? Co byś stracił, gdybyś go usunął?

Źródło: https://dev.to/adioof/disposable-code-is-a-psyop-by-people-who-dont-maintain-anything-33kg

Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi