10 cech kodu, które odróżniają programistę od amatora

07.11.2017 AUTOR: Radek Borzym

Różnice pomiędzy kodem napisanym przez amatora i kodem stworzonym przez zawodowca mogą wydawać się na pierwszy rzut oka nieistotne. Oba działają poprawnie, oba wykonują powierzone im zadania. Kod napisany przez osobę początkującą niekoniecznie zawsze musi być jakoś mocniej zabugowany niż ten stworzony przez specjalistę. W takim razie, co odróżnia od siebie programy i aplikacje zaprogramowanie przez obie te grupy?

1) Czytelność

Profesjonalista wie, że napisany przez niego kod będzie w przyszłości udoskonalany przez kogoś innego. Zresztą z dużym prawdopodobieństwem pracuje nad nim wraz z grupą innych osób i dlatego każda wystukana linijka kodu powinna być czytelna  także dla innych członków zespołu.

Wszystkie zmienne muszą być nazwane w sposób zrozumiały dla kogoś kto nie miał wcześniej styczności z danym fragmentem funkcjonalności aplikacji. W komentarzach powinny znajdować się objaśnienia powodów dla których kod jest napisany w taki, a nie inny sposób. Wszystko co wchodzi we skład formatowania, zwłaszcza wcięcia, powinno być tak przemyślane, żeby inny programista uznawał je za czytelne. Zwykle wymaga to nie tylko poczucia estetyki, ale także znajomości konwencji panujących w danym środowisku.

Nim szybciej dana osoba, która nie zna kodu jest w stanie zrozumieć o co w nim chodzi, tym lepsza jest jego czytelność.

2) Odpowiedniość zastosowanych rozwiązań

Można wykopać dół przy pomocy łyżki, ale lepiej nadaje się do tego łopata. Podobnie jest z kodem, z tą tylko różnicą, że jeżeli zastosujemy nieodpowiednie narzędzia, to możemy w środku pracy zdać sobie sprawę, że nie da się przy ich pomocy dalej kontynuować zaczętego projektu. W najgorszym wypadku będzie trzeba skasować w połowie napisaną aplikację i napisać ją od zera przy pomocy nowych narzędzi. 

3) Szybkość

Poprawnie napisany kod wykonuje wymagane od niego zadania szybko i sprawnie. Aplikacje działające za jego pośrednictwem reagują błyskawicznie na polecenia wydawane przez użytkowników. Ten punkt tyczy się w sposób szczególny programów zasobożernych, takich jak np gry komputerowe, które nie mogą pozwolić sobie na niewydajne działanie.

4) Nadawanie się do diagnozy

Dobrze napisany program powinien informować użytkowników o ewentualnych błędach jakie mogą się przydarzyć podczas korzystania z niego. Wyświetlająca się wtedy wiadomość powinna być pomocna w identyfikacji powodu stojącego za danym błędem. Dzięki tego typu informacjom raporty od użytkowników, którzy napotkali bugi zaczną spływać, a ich naprawienie stanie się znacznie szybsze i łatwiejsze.  

 

5) Posiadanie dobrej dokumentacji

Zostawianie komentarzy w kodzie, to dopiero początek. Stworzony przez nas program powinien zawierać pełną dokumentację, dzięki czemu osoba niezaznajomiona z tym w jaki sposób działa może zostać szybko wdrożona do pracy nad nim. Dokumentacja powinna w sposób zrozumiały tłumaczyć dlaczego aplikacja została napisana w sposób, w jaki została i wyjaśniać wszelkie wątpliwości, które mogą powstrzymywać nową osobę przed dołączeniem do pracy nad projektem.

6) Nadawanie się do testów

Solidny kod powinien charakteryzować się możliwością jego automatycznego przetestowania. Co oznacza, że dla każdej zaistniałej kombinacji warunków jest możliwe automatyczne sprawdzenie, czy nie generuje ona jakiś bugów. Sposób ten eliminuje potencjalne błędy zanim się pojawią.

7) Łatwość w modyfikowaniu

W razie zaistnienia okoliczności wymuszających pewne zmiany w programie, ważne jest, żeby tworzący ją kod łatwo poddawał się modyfikacjom. Dzięki temu pracujący nad nim programiści nie będą musieli spędzać więcej czasu niż potrzeba na wprowadzaniu pożądanych poprawek i walczeniu z pojawiającymi się efektami ubocznymi. W skrajnych sytuacjach dobra modyfikowalność może uchronić program przed potrzebą wyrzucenia go do kosza.

8) Możliwość korzystania z niego na wielu urządzeniach

Dobrze napisany kod powinien nie być bardziej zasobożerny niż potrzeba i działać na jak najszerszej gamie dostępnego sprzętu. Nim niższe wymagania systemowe posiada tym lepiej. Rzadsze konfiguracje sprzętowe także nie powinny być mu straszne.

Poza tym stworzenie portu z jednego systemu na drugi nie powinno sprawiać większych kłopotów. Program napisany pod Windowsa powinien dać się zmodyfikować, tak by dobrze działał na Macu. Podobnie z aplikacjami dla Androida i iOSa.

9) Spełnianie wewnętrznych wymogów

Firmy, instytucje, czy organizacje korzystające z wielu różnych aplikacji ustanawiają wewnętrzne wymogi dotyczące tworzonego przez siebie/na swoje potrzeby oprogramowania. Dzięki nim łatwiej jest uczyć pracowników ich obsługi, a korzystanie z mniejszej liczby narzędzi sprawia, że programiści mogą łatwiej przestawić się z pracy nad jednym projektem i przejść do innego.
Wewnętrzne standardy sprawiają, że mimo zaangażowania programistów piszących w rożnych stylach kod pozostaje jednolity.

10) Przydatność

Kod może być czytelny dla innych programistów lub świetnie nadawać się do modyfikowania, ale nie można zapominać w jakim celu powstał. Jeżeli użytkownicy nie są zadowoleni ze stworzonej aplikacji, to nie ma żadnego znaczenia jakie kryteria solidności spełnia.
 

Artykuł powstał dzięki:

Coders Lab

Łącząc doświadczenie edukacyjne ze znajomością rynku pracy IT, Coders Lab umożliwia szybkie i efektywne zdobycie pożądanych kompetencji związanych z nowymi technologiami. Skupia się się na przekazywaniu praktycznych umiejętności, które w pierwszej kolejności są przydatne u pracodawców.

Wszystkie kursy odbywają się na bazie autorskich materiałów, takich samych niezależnie od miejsca kursu. Dzięki dbałości o jakość kursów oraz uczestnictwie w programie Career Lab, 82% z absolwentów znajduje zatrudnienie w nowym zawodzie w ciągu 3 miesięcy od zakończenia kursu.


Warto także sprawdzić, który framework PHP najlepiej nadaje się do naszego projektu.

Do góry!

Polecane artykuły

22.09.2020

Comarch e-Sale, jako e-commerce na dobry ...