Vad är programförståelse?
Programförståelse är en programmerares förmåga att förstå vad ett datorprograms källkod gör. I datavetenskaplig instruktion förbises ofta ett program för att lära sig mekanik och syntax för det datorspråk som undervisas. Att skriva begriplig kod är emellertid ett universellt behov, oavsett datorspråk som det skrivs i. Om en programmerare skriver ett bibliotek eller kodkod, men ingen kan bestämma vad den gör efteråt, kan algoritmen och logiken bakom koden lätt gå förlorad. Det blir allt vanligare att programmerare inte kan dechiffrera sin egen kod, eftersom det ofta inte skrivs tydligt och intuitivt.
Det finns två huvudstrategier som programmerare kan använda för att förbättra programförståelsen, och var och en har sina egna fördelar och nackdelar. Den första metoden är att lägga till dokumentation i koden under eller efter skapandet av koden, och den andra är att skriva kod med betoning på dess struktur. En kombination av båda metoderna är till hjälp för de flesta programmerare, även om det finns vissa kodbyggare som föredrar en strategi framför en annan. Vilken metod som ska användas är en fråga om personlig preferens av programmeraren, och alla försök att förtydliga koden är mycket bättre än ingen alls.
Att lägga till dokumentation till kod är det enklaste av de två metoderna, och när det görs väl kan det vara en mycket användbar krycka för en programmerare som inte känner till språket koden är skriven i. De flesta datorspråk har en specifik dokumentationsstil för att underlätta programförståelsen. Om koddokumentation skrivs grundligt kan en ny programmerares första steg vara att läsa all dokumentation och kommentarer för att få en förståelse för hur programmet fungerar utan att ha läst koden alls. Istället för att vara beroende av kodsyntax och mekanik kan programmeraren se vad som händer i vanlig text och sedan relatera texten till exakt vad som händer på en given plats. När du lägger till dokumentation i koden måste programmörer dock vara försiktiga, eftersom för mycket dokumentation kan vara förvirrande och påträngande, snarare än till hjälp.
När man skriver kod med betoning på struktur, antar en programmerare att alla andra underhållare som tittar på hans eller hennes kod har motsvarande kunskaper om språkets syntax och mekanik. Ibland är detta ett giltigt antagande, men det kan inte alltid lita på. Programförståelse som till stor del bygger på struktur är möjlig, men det krävs betydligt mer arbete från den ursprungliga programmeraren för att underlätta det. Språkets mekanik och syntax måste följas exakt, liksom alla stilistiska konventioner, och allt måste vara konsekvent. När man skriver kod på detta sätt måste en programmerare alltid vara medveten om att det som är klart för honom kanske inte är klart för en annan person.
Även när du skriver kod med ett öga för senare programförståelse kan ytterligare dokumentation eller strukturella ändringar behövas senare. Detta är en naturlig del av kodunderhållet och inte ett fel hos programmeraren. En programmerares jobb är att förutse så många förståelseproblem som möjligt, men alla fångas inte alltid.