Co to jest zrozumienie programu?
Rozumienie programu to zdolność programisty do zrozumienia działania kodu źródłowego programu komputerowego. W nauczaniu informatyki zrozumienie programu jest często pomijane na korzyść uczenia się mechaniki i składni nauczanego języka komputerowego. Pisanie zrozumiałego kodu jest jednak powszechną potrzebą, niezależnie od języka komputera, w którym jest napisany. Jeśli programista napisze bibliotekę lub fragment kodu, ale nikt nie jest w stanie określić, co zrobi później, algorytm i logikę tego kodu można łatwo utracić. Coraz częściej programiści nie mogą odszyfrować własnego kodu, ponieważ często nie jest napisany jasno i intuicyjnie.
Istnieją dwie główne strategie, które programiści mogą wykorzystać, aby poprawić zrozumienie programu, a każda z nich ma swoje zalety i wady. Pierwszą metodą jest dodanie dokumentacji do kodu podczas lub po utworzeniu kodu, a drugą jest napisanie kodu z naciskiem na jego strukturę. Połączenie obu podejść jest pomocne dla większości programistów, chociaż niektórzy twórcy kodu wolą jedną strategię od drugiej. Wybór metody zależy od osobistych preferencji programisty, a każda próba wyjaśnienia kodu jest o wiele lepsza niż żadna.
Dodanie dokumentacji do kodu jest prostszą z tych dwóch metod, a gdy jest dobrze wykonana, może być bardzo przydatnym narzędziem dla programisty nieznajomego języka, w którym napisany jest kod. Większość języków komputerowych ma specyficzny styl dokumentacji ułatwiający zrozumienie programu. Jeśli dokumentacja kodu jest napisana dokładnie, pierwszym krokiem nowego programisty może być przeczytanie całej dokumentacji i komentarzy w celu zrozumienia działania programu, bez konieczności czytania kodu. Zamiast być zależnym od składni kodu i mechaniki, programista może zobaczyć, co dzieje się w zwykłym tekście, a następnie powiązać tekst z tym, co dzieje się w danym miejscu. Jednak dodając dokumentację do kodu, programiści muszą zachować ostrożność, ponieważ zbyt dużo dokumentacji może być mylące i natrętne, a nie pomocne.
Pisząc kod z naciskiem na strukturę, programista zakłada, że każdy inny opiekun patrząc na jego kod będzie miał równoważną wiedzę na temat składni i mechaniki języka. Czasami jest to prawidłowe założenie, ale nie zawsze można na nim polegać. Zrozumienie programu oparte w dużej mierze na strukturze jest możliwe, ale potrzeba znacznie więcej pracy ze strony oryginalnego programisty, aby to ułatwić. Należy dokładnie przestrzegać mechaniki i składni języka, a także wszystkich konwencji stylistycznych i wszystko musi być spójne. Pisząc kod w ten sposób, programista musi zawsze mieć świadomość, że to, co jest dla niego jasne, może nie być jasne dla innej osoby.
Nawet przy pisaniu kodu z myślą o późniejszym zrozumieniu programu, później może być potrzebna dodatkowa dokumentacja lub modyfikacje strukturalne. Jest to naturalna część konserwacji kodu, a nie awaria ze strony programisty. Zadaniem programisty jest przewidywanie jak największej liczby problemów ze zrozumieniem, ale nie zawsze wszystkie są łapane.