Why bad code is bad?

W poprzednim odcinku zastanawialiśmy się czym jest “zły kod”.
Pora więc zastanowić się czy rzeczywiście “zły kod” jest zły.

Zły kod jest “zły”?

Januszu?

No, raczej nazwa wskazuje na to, że tak…

A tak bardziej konkretniej?

No to na przykład, nikt nie lubi pracować z nieczytelnym kodem…

Ok. A dlaczego?

No, bo ciężko dojść co on robi, łatwo się pomylić przy edycji i ogólnie wyprowadza z równowagi…

Hmm, czyli jest czasochłonny i błędo-genny…
Ale skoro istnieje i jest używany – to znaczy, że działa – czyż nie?

No działać, działa…

Czyli ma jakąś wartość…
A co jest łatwiej napisać, dobry czy zły kod?

Oczywiście, że łatwiej jest pisać zły kod, nie musisz dużo się zastanawiać – piszesz byle by działało.

Łatwiej czyli szybciej…
Łatwiej czyli taniej (nie potrzebujesz wykwalifikowanej kadry)…
I wciąż będzie działać…

Ciekawe, ciekawe. To co jest lepsze? Zły – tani i szybko powstający kod, czy Dobry – drogi i dłuższy w produkcji?

Eeee… No ale dobry kod generuje mnie błędów…

A to nie lepiej szybko napisać zły kod, a potem dłużej łapać błędy? Proces QA jest przecież tańszy niż proces developerski…

Naprawdę?

Prawda o złym kodzie

Jaka jest prawda? Czy, rzeczywiście jest lepiej robić szybko i byle jak niż powoli i dokładnie?

Zacznijmy jeszcze raz.

Janusz wspominał, że zły kod jest zły, ponieważ jest nieczytelny i generuje błędy.
Zunifikujmy to do wspólnego mianownika.

Zły kod jest zły, ponieważ zużywa więcej czasu.

A nie mówiłeś wcześniej, że zły kod jest tańszy i szybciej się go pisze?

Tak jak najbardziej. Jednakże, tylko w krótkim przedziale czasowym.
Spójrzmy:

Bad code vs Good code

Zły kod jest czerwony.
Dobry kod jest zielony.

Jak widać dla krótkiego zakresu czasu, zły kod ma więcej gotowych funkcjonalności.
Jednakże, z biegiem czasu tempo implementacji nowych elementów jest coraz mniejsze.

Aż w pewnym momencie wręcz staje w miejscu.

Ten moment jest datą śmierci systemu (często i całej firmy) – nikt nie wie jak on działa, co dokładnie robi oraz nikt nawet nie potrafi go skompilować.

Czarna dziura

A dlaczego tak się dzieje?

To proste.

Jeżeli z każdym dniem piszesz zły kod – to każdego następnego dnia musisz walczyć z większą ilością złego kodu. A im więcej złego kodu – tym dłużej musisz nad nim spędzić czasu aby cokolwiek zrobić.

To jak czarna dziura, w pewnym momencie sens kodu nie jest w stanie utrzymać syfu jaki wytwarza zły kod. System zapada się sam w sobie i wchłania każdy istniejący w pobliżu wysiłek programisty.

Jesteś wtedy już w horyzoncie zdarzeń – nie ma odwrotu.

Ok, ok. Ale to wciąż czasami ma sens. Prawda?

Czasami.. tak. Ale to bardzo rzadkie przypadki.

Rzadkie?

No bo tak naprawdę, pisanie dobrego kodu trwa krócej 🙂

Chcesz mi teraz wmówić, że zły kod pisze się dłużej?

Nie wmówić, tak po prostu jest…

Be First to Comment

A penny for your thoughts