Kiepski kod – Wstęp – Jak rozpoznać zaniedbany kod?
Czysty kod to ściema! Ważne by działał i zarabiał pieniądze. Zgodziłbym się z tym stwierdzeniem po wprowadzeniu malutkiej zmiany. Ważne by działał stabilnie i zarabiał pieniądze przez długi okres. Ta mała zmiana implikuje, by miał mało błędów oraz był tani w rozwoju i utrzymaniu. Co wymusza tworzenie czystego kodu. Jaki odsetek programistów dba, by kod był wystarczająco czysty? Zdecydowanie za mało. Z czego to wynika? Nie potrafią pisać dobrego kodu lub nie zadają sobie sprawy, że coś robią nie tak. Będę chciał poruszyć oba problemy, jednak na razie skupię się na drugim, ważniejszym. Zapraszam.
Ten post jest wstępem do cyklu dotyczącego symptomów niezadbanego kodu. W kolejnych częściach będę opisywał konkretne przykłady jak pisać i jak nie pisać oprogramowania.
W celu promowania tej idei rozwijam projekt carecode.pl, gdzie serdecznie zapraszam. Jeżeli jesteś zainteresowany kolejnymi częściami cyklu, to koniecznie zapisz się na newsletter.
[FM_form id=”2″]Lista
Czy juz to gdzieś widziałeś?
Czy pracowałeś w projekcie, który mimo dużego zaangażowania posuwał się do przodu coraz wolniej? Czy poprawiony bug generował kolejne trzy? Aplikacja, mimo prób optymalizacji cały czas działała zbyt wolno. Testerzy załamywali ręce, że tego nie da rady przetestować, a wdrożenie systemu przeciągało się o kolejne miesiące. Programiści chodzili podirytowani, a następnie zaczęli się zwalniać? A na pytanie, jak to naprawić odpowiadali: „Nie da się. To trzeba napisać od nowa.”.
Jeżeli jakaś z tych rzeczy jest Ci znajoma, to znaczy tylko jedno. Jest tam brudny kod. Jeżeli szybko coś z tym zrobisz, uda Ci się uratować projekt, a dzięki temu oszczędzisz masę pieniędzy. Jeżeli doświadczasz większości z tych rzeczy, możesz być pewien, iż ten kod kiśnie już spory kawał czasu. Teraz, by wyciągnąć go na prostą potrzeba dużo wysiłku i doświadczenia, ale z pewnością się da. Jeżeli jesteś w takiej sytuacji, daj znać. Chętnie pomogę! Pozostaje jednak pytanie, dlaczego nikt go nie poprawił wcześniej, gdy poziom zepsucia był jeszcze niski? Pewnie dlatego, że nikt nie zdawał sobie sprawy z przyczyny. Nikt nie rozpoznał symptomów, że to być może brudny kod.
A może ktoś rozpoznał?
Zdarzają się również sytuacje, gdy czujesz, że coś jest nie tak. Zauważasz symptomy złego kodu i chciałbyś coś zrobić. Jednak wszystkie pomysły są odrzucane jako nieistotne przez architekta i pozostałych deweloperów, mających syndrom leniwego majstra, bo tak tu jest. Natomiast kierownik projektu ciśnie. Szybciej. Więcej. Teraz! Brakuje Ci siły przebicia. Spróbuj ich przekonać go kwestiami finansowymi, wdrożeniowymi, zespołowymi. Wszystko to będzie tutaj opisane. Ty zyskasz wiedzę i dodatkowe „zewnętrzne” argumenty przy dyskusji nad jakością oprogramowania.
Na koniec
Czy temat czystego kodu Cię interesuje? Czy są jakieś tematy, o których chciałbyś przeczytać w pierwszej kolejności? A może walczysz teraz z zaniedbanym kodem i gdzieś utknąłeś? W każdej z tych spraw koniecznie daj znać.
4 Komentarze
Bartosz · 2018-08-29 o 23:11
Na różnych poziomach wtajemniczenia programisty jest różne spojrzenie na to czym jest czysty kod. Jeden pomyśli, że zamykanie w osobnych funkcjach określonych działań jest ok a inny, że 100% SOLIDny to dopiero sukces. Dałbyś radę napisać po 10 złotych rad dla tych co dopiero zaczynają się uczyć programowania, aby od początku pisali na czysto oraz kolejne 10 dla tych co już pierwszy projekt mają za sobą?
Jerzy Wickowski · 2018-08-30 o 20:05
Cześć Bartosz,
Nie myślałem jeszcze nad listą dziesięciu rad na czysty kod, ale przemyślę sprawę i dam Ci znać.
Póki tego nie zrobię to mogę Ci z polecić książkę „Agile. Programowanie zwinne: zasady, wzorce i praktyki zwinnego wytwarzania oprogramowania w C#”. Przeczytałem ją dwa razy, a zbieram się do trzeciego. Zmienia pogląd na programowanie, przynajmniej na początku drogi.
A jeżeli jest coś, co uznałbym na najważniejszą rzecz, jako kryterium czystego kodu to łatwość czytania i rozumienia kodu.
ekonomiczny-wojownik.pl · 2018-08-30 o 02:47
Pracodawca odpowiada za czysty kod. Jeśli wymaga czystego kodu, powinien więcej zapłacić programiście, za czysty kod, wedle wymagań
Jerzy Wickowski · 2018-08-30 o 20:11
Siemka Wojowniku.
Kto jest odpowiedzialny za czystość kodu to może być kwestia sporna. Pewnym jednak jest, że nikt inny poza programistą go piszącym nie może poprawić jego jakości.