
Artykuł przygotował: 20.07.2022
Czysty kod - wprowadzenie
Pisanie czystego, przejrzystego kodu to kluczowa umiejętność - każdy Software Developer powinien ją posiadać.
Programowanie to zazwyczaj praca zespołowa. Każdy kto pracuje w zespole musi się dostosować do pewnych zasad. A jedną z najważniejszych zasad jest właśnie pisanie czystego kodu. Czystego, czyli takiego, który będzie zrozumiały dla innych programistów. Jest takie powiedzenie, że nie sztuką jest napisać kod zrozumiały dla komputera - sztuką jest napisać kod zrozumiały dla ludzi!
Kod świadczy o twojej pracy
O temacie czystego kodu można by długo pisać. W praktyce sprowadza się to do pewnych reguł, które powinny wejść ci w nawyk. Chodzi o to, żeby zawsze dbać o tą “czystość”. Żeby każdy fragment twojego kodu był zrozumiały, czytelny i nie wymagał dodatkowych objaśnień.
Popatrzmy więc na kilka przykładowych reguł. Za chwilę zobaczysz kilka fragmentów kodu napisanych w języku JavaScript - język nie ma jednak tu żadnego znaczenia. Chodzi o pewne uniwersalne zasady, które zawsze znajdą zastosowanie niezależnie od tego w jakiej technologii pracujesz
Kod świadczy o twojej pracy
Mamy taką zmienną:
var d = "Monday";
Co to zmienna przechowuje? Możemy się jedynie domyślać na podstawie jej wartości, że przechowuje dzień tygodnia. Czy nie lepiej byłoby od razu nazwać ją w sposób nie pozostawiający żadnych wątpliwości?
var dayOfWeek = "Monday";
Czy tak nie jest lepiej? Pewno, że jest! Teraz nazwa zmiennej niesie jakieś znaczenie. Od razu widzimy do czego zmienna służy.
Z drugiej strony, trzeba uważać na zbyt długie nazwy wprowadzające niepotrzebny szum informacyjny. Spójrz:
var userAccountList = [];
Nazwę tej zmiennej możemy przetłumaczyć jako “Lista kont użytkowników”. Niby OK ale można by skrócić ją do prostego, konkretnego słowa “konta”:
var accounts = [];
Dlaczego to ma sens? Konta i tak dotyczą użytkowników a zbiór kont to nic innego jak lista - niepotrzebne są więc te dodatkowe słowa.
Oczywiście w praktyce jest to kwestia bardziej wyczucia niż ścisłych reguł. Nazywanie elementów w kodzie to po prostu ciągłe balansowanie pomiędzy precyzją i zwięzłością. Im częściej będziesz to robić tym większej wprawy nabierzesz.
Przykład - konsekwencja w nazywaniu elementów
Jeśli już korzystasz z jakiejś konwencji nazewniczej to pamiętaj o tym, aby ją stosować konsekwentnie. Popatrz:
const COLUMNS = 3;
const spacing = 20;
Mamy dwie stałe, które przechowują jakieś parametry. Zwróć uwagę na brak konsekwencji - jedna jest zapisana dużymi literami a druga małymi. A rozwiązanie jest bardzo proste:
const COLUMNS = 3;
const SPACING = 20;
Ta konsekwencja (lub jej brak) świadczy o tym jak programistą podchodzi do swoje pracy! To bardzo ważna rzecz, która ma wpływa na jakość tego co tworzymy na co dzień.
Przykład - komentarze
Jak pewnie wiesz w kodzie można dodawać komentarze. Niestety często jest tak, że taki komentarz dodaje się jako substytut dobrego, czystego kodu. Zaraz zobaczysz o co chodzi:
// calculate circle circumference
var r = 2.0; // radius
var result = 2 * 3.14 * r; // calculate circumference
console.log(result);
Powyższy kod oblicza obwód koła. Pytanie brzmi: czy dało by się lepiej to zrobić? Czy da się ten kod napisać tak, żeby nie były potrzebne te wszystkie komentarze objaśniające fragmenty kodu? Pewnie, że się da:
var r = 2.0;
const PI = 3.14;
function calculateCircumference(radius) {
return 2 * PI * radius;
}
let result = calculateCircumference(r);
console.log(result);
I już jest trochę lepiej. Mamy funkcję, której nazwa (“obliczObwód”) dobrze opisuje wykonywane przez nią operację. Mamy parametr, który ma nazwę radius (“promień”) - taka nazwa dobrze opisuje jego przeznaczenie. Dzięki temu niepotrzebne będą komentarze bo ten zmodyfikowany kod jest bardziej czytelny i zrozumiały. Nazwy poszczególnych elementów mówią same za siebie.
Jeśli wszystko w kodzie jest prawidłowo nazwane to ilość komentarzy często można znacznie zredukować. Używaj ich tam gdzie są naprawdę niezbędne.
W powyższym kodzie można by się przyczepić do wartości PI. Została ona wpisana “na sztywno” a lepiej by było użyć stałej. To kolejna pułapka zaciemniajaca czytelność kodu ale jest to też temat na odrębną dyskusję.
Wierzchołek góry lodowej
W tym artykule pokazaliśmy kilka przykładów, które mają za zadanie pokazać z czym wiąże się w praktyce temat czystego kodu. Potraktuj je jako błyskawiczne wprowadzenie do tego niezwykle ważnego tematu.
Jeśli chcesz dowiedzieć się się więcej to sprawdź nasz kurs: Czysty kod - praktyczne wprowadzenie. Znajdziesz w nim wiele praktycznych technik pisania poprawnego, przejrzystego i czytelnego kodu. Co ważne, te techniki są uniwersalne i znajdą zastosowanie w dowolnym języku programowania.