Często słyszymy o idealnym (lub perfekcyjnym) kodzie. Jednak, jak on wygląda? Czy ktoś widział go w prawdziwym życiu? Czy w ogóle można opisać jakie powinien spełniać wymogi? Ponieważ „doskonałość” to drażliwy temat, przybliżamy Wam kilka rozwiązań, przedstawionych przez Sergeya Morentsa, który podjął się próby opisania tej kwestii. Jego rozważania, jak sam zaznacza, nie muszą być traktowane, jako “prawda absolutna”, ale poparte są wieloletnim doświadczeniem w branży IT, zdrowym rozsądkiem i umiejętnościami programowania.


Już na samym początku przeczuwam pytania o idealność kodu. Czy można zrobić coś w sposób idealny, tym bardziej w stale zmieniającym się środowisku IT? Jeżeli tak, to kto ma to oceniać? Zgadzam się – w naszym przemyśle ciągle zmieniają się zasady, pojawiają się nowe języki i platformy. Nie zmieniają się tylko twórcy i odbiorcy ich produktów, czyli użytkownicy.


Myślę, że można znaleźć wiele książek, gdzie temat idealnego kodu poruszany jest od tzw. wewnątrz, czyli z punktu widzenia programowania. Ale wydaje mi się, że nie wyjaśniają one do końca, co to jest kod doskonały. Deweloperzy muszą zrozumieć, dlaczego tak ważne jest to, aby pisać doskonały kod. Aby uzyskać bardziej holistyczne i uzasadnione odpowiedzi na to pytanie, proponuję sięgnąć głębiej i przypomnieć sobie, że pisanie kodu — to tylko część całego procesu rozwojowego.


Rzućmy okiem na rozwój produktu z punktu widzenia wszystkich zaangażowanych uczestników. Doskonały kod to część doskonałego produktu. Inaczej mówiąc, doskonały kod przyczynia się do tego, aby stworzyć doskonały produkt końcowy.


Co wyróżnia doskonały produkt? Jakość. Tutaj, pod pojęciem jakości rozumiemy przede wszystkim stabilność produktu, ilość błędów i ich krytyczność, a także jego skuteczność (ilość zużywanych zasobów i szybkość działania).


Stabilność to również brak błędów przez cały czas korzystania z produktu i jakość obsługi — czyli szybkość poprawiania błędów i dodawania funkcjonalności, które są potrzebne użytkownikom. Dla mnie jednym z przykładów takiej wysokiej jakość produktów jest statek kosmiczny Voyager", który od 1977 roku przemierza przestrzeń układu Słonecznego. Działa on bez zakłóceń czy trzasków i niezmiennie przekazuje informacje na Ziemię.


Teraz spójrzmy na produkt oczami programisty. Podstawowe zadania, które wykonujemy w trakcie pracy nad projektem:

  • Odczyt kodu
  • Modyfikacja kodu
  • Uruchamianie i debugowanie

Im szybciej będziemy wykonywać te zadania, tym szybciej będziemy mogli udoskonalać produkt, tworzyć jego lepsze wersje… a co za tym idzie – odnosić prawdziwy, komercyjny sukces.


Zatem do charakteryzacji idealnego kodu można użyć następujących wartości:

— Łatwy do odczytania
— Łatwy do poprawek
— Szybkie uruchomienie (restart) na różnych systemach operacyjnych
— Można go używać kilka razy (reuse) i testować
— Wykorzystuje bezpłatną platformę i biblioteki
— Minimalnie dopuszczalna liczba błędów (lub ich całkowity brak)
— Minimalne zużycie zasobów
— Stabilność


Jeżeli przeanalizujemy tę listę wymagań, to możemy dojść do wniosku, że nasz idealny kod powinien być:


#1 Czytelny (Czytelność opiera się na ilości informacji, którą potrafimy skutecznie zapamiętać, by zrozumieć każdą linię kodu. Tutaj bardzo dużo zależy od doświadczenia, dlatego zawsze radzę juniorom, aby więcej czytali i analizowali)


#2 Oczywisty (obvious)


#3 Kompaktowy (Kompaktowy kod to taki, którego nie można ograniczyć w zakresie. Jest samowystarczalny i krótki, ale robi dobrą robotę i bezbłędnie działa)


#4 Samowystarczalny


#5 Nowoczesny (używamy najnowszych technologii)


#6 Elastyczny (łatwy w modyfikacji)


#7 Efektywny


#8 Skalowalny (czyli z jak najmniejszą ilością modyfikacji możemy go zastosować zarówno przy dużych, jak i małych projektach)


#9 Niezawodny (sprawdzony na testach)


#10 Bezpieczny


#11 Wieloplatformowy (cross-platform)


Tekst pochodzi z zasobów platformy Duo.ua


Wiesz już, jak napisać idealny kod i chcesz rozpocząć karierę w branży IT? Dołącz do naszej społeczności na BrainJobs, gdzie szukamy prawdziwych talentów IT. Stworzenie darmowego profilu zajmie Ci 5 minut, a my znajdziemy dla Ciebie pracę Twoich marzeń.