Clean code, to pojęcie określające kod napisany w taki sposób, że osoba, która go przejmuje jest go w stanie bezproblemowo zrozumieć, zmodyfikować czy dopisać nową funkcjonalność. W tym artykule dowiesz się, co w praktyce oznacza pisanie czystego kodu oraz jak łatwo czysty kod wytwarzać.
Clean code, co to?
Nie ma konkretnej definicji pojęcia „clean code”, ponieważ można rzecz, że ile osób, to tyle wersji. Dla jednego człowieka dany fragment może być „clean”, a dla innego nie. Właśnie dlatego programiści i społeczność zaproponowali zasady, których trzeba przestrzegać, aby móc powiedzieć, że nasz kod jest czysty. To oczywiście wciąż jest trochę subiektywne, gdyż jedni stosować będą zasady od A do D, a taki kod będzie dla nich clean, podczas gdy kolejna grupa spełniać będzie reguły X-Z i dla nich będzie to wystarczające.
Bądź, co bądź, dzięki stosowaniu szerokopojętych zasad pisania czystego kodu, o których zaraz sobie z resztą porozmawiamy, wykluje nam się obraz rozwiązania, który później z czystym sumieniem możemy określić mianem „clean”. Jak takie rozwiązanie wygląda?
- Nowy programista w zespole jest się w stanie bardzo łatwo i szybko wdrożyć w projekt.
- Dodawanie nowych funkcjonalności nie wymaga modyfikacji istniejącego kodu.
- Jesteśmy w stanie łatwo wymienić implementacje poszczególnych funkcjonalności, bez konieczności zmian sposobu działania systemu.
- Nasze rozwiązanie nie jest silnie uzależnione od framework-ów i bibliotek.
Definicją czystego kodu może więc być: styl programowania, który pozwala na elastyczność (re)implementacji funkcjonalności, szybkie wdrożenie się w utworzone rozwiązanie nowej osoby oraz niska złożoność środowiskowa powstałego rozwiązania.
Zasady clean code
Wiemy już, że to czy kod jest czysty determinuje fakt stosowania zasad clean code. Zasad tych jest naprawdę sporo i dotykają one przeróżnych aspektów programowania. Wyróżnić możemy także grupy zasad, których stosowanie pozwala na wytwarzanie wysokiej jakości rozwiązań.
Pierwszą grupą zasad clean code z którą spotykają się programiści jest zazwyczaj SOLID. Zbiór pięciu zasad mówiących nam, jak pisać i organizować swój kod tak, aby był reużywalny, łatwy w utrzymaniu i otwarty na przyszłą rozbudowę. Kolejnym znanym zbiorem reguł jest GRASP, agregujący w sobie dziewięć zasad clean code. Nie jest on może tak dobrze znany, jak SOLID, jednak wprowadza bardzo użyteczne koncepcje i wskazówki, jak pisać spójny kod, o niskim coupling-u, który będzie po prostu czysty.
Możemy wyróżnić także cztery zasady clean code, które są kwintesencją czystego kodu, są to: KISS, DRY, YAGNI oraz TDA. Krótkie reguły clean code, które wnoszą do naszych rozwiązań prostotę i czytelność. Dodatkowo, mówią nam one, że nadgorliwość może prowadzić do niepotrzebnej komplikacji kodu. Jeśli ich nie znasz, to gorąco zachęcam Cię do zapoznania się z nimi.
Czy stosując te zasady moje rozwiązanie jest już w 100% clean?
Stosowanie poznanych zasad czystego kodu powoduje, że nasze rozwiązania stają się po prostu lepsze, co owocuje łatwością implementacji nowych feature’ów czy możliwością czytania kodu, jak książki. Okazuje się jednak, że sama znajomość tych reguł, to może być za mało. Ważne jest także doświadczenie, którego oczywiście nauczyć się nie możemy, trzeba to po prostu przeżyć. Nie martw się, oddam w Twoje ręce kilka wskazówek, jak oprócz stosowania zasad clean code możesz poprawić jakość swojego kodu.
Po pierwsze, uważaj na instrukcje warunkowe w swoich rozwiązaniach. Nieumiejętne używanie if-ów może powodować przypadkowe i niepotrzebne skomplikowanie Twojego kodu, a okazuje się, że pułapek związanych z niepoprawnych stosowaniem warunków można bardzo łatwo uniknąć. Sprawdź, jakie częste błędy związane z if-else if-else popełniają programiści oraz jak się przed nimi chronić.
Unikaj niepotrzebnych komentarzy, ponieważ w wielu przypadkach zaciemniają jedynie całokształt Twojego rozwiązania. Pamiętaj jednak, że komentarze czasami są potrzebne. Aby wiedzieć kiedy warto po nie sięgnąć zaznajom się z przesłankami do komentowania kodu.
Kolejna kwestia, to dobre maniery i poszanowanie innych członków zespołu, a także gra drużynowa. Co kilka głów to nie jedna, prawda? Zespół może dowieźć rozwiązanie o wiele szybciej niż samotny programista, dlatego trzeba pamiętać o savoir-vivre, aby praca w zespole była przyjemna, a bałagan jak najmniejszy. Jeżeli chcesz to osiągnąć to koniecznie zapoznaj się z zasadą skauta.
Zapachy kodu
W wielu przypadkach, jeżeli kod nie jest napisany zgodnie z zasadami clean code, to cechuje się on wieloma nieprzyjemnymi zapachami. Tak, zapachami, czyli określeniami na fragmenty rozwiązania, które wprost łamią zasady czystego kodu. Istnieje kilka podziałów na zapachy, jednak tym najszerzej znanym jest podział zaproponowany przez Mika Mäntylä, wyróżniający pięć różnych grup zapachów. Jeżeli nie chcesz, aby Twój kod brzydko pachniał, to koniecznie zapoznaj się z rodzajami zapachów kodu, a także fragmentami kodu, które mogą na nie wskazywać.
Podsumowanie
- Stosowanie zasad clean code przyczynia się do poprawienia jakości wytwarzanego kodu.
- Aby móc określić swoje rozwiązanie mianem „clean”, należy pamiętać, aby było ono czytelne i łatwo rozwijalne.
- Oprócz stosowania zasad clean code, takich jak SOLID czy GRASP, należy pamiętać o logicznym i przemyślanym projektowaniu rozwiązań, a także o innych członkach zespołu.
Dodaj komentarz