Deo zbornika Uvod u softversko inženjerstvo

Ispravan kod nije dovoljan

Jedna stvar je napisati kod koji radi. Nešto sasvim drugo je napisati dobar kod koji radi.

Usvajanje stanovišta “pisanje dobrog koda koji radi” proističe iz sposobnosti da se sistem posmatra iz široke perspektive. Na kraju, vrhunski sistem ne nastaje samo kao proizvod pisanja instrukcija i naredbi koje mu omogućavaju da se izvršava. Tu postoji mnogo više aspekata koji se na kraju, direktno ili indirektno, svode na dizajn.

Stav “pisanje dobrog koda koji radi” vodi ka vrednovanju mogućnosti lakog održavanja koda. Ovo se može usvojiti ne zato što su drugi aspekti manje važni u odnosu na održavanje, već zbog toga što je održavanje dosta skupo i može biti veoma frustrirajuće za programere koji su uključeni u njega. Osnovni kod koji se može lako pretraživati u cilju pronalaženja grešaka, i kome ispravljanje grešaka ne predstavlja problem, pogodan je za bilo kakve vrste poboljšanja uključujući i proširivost. Zbog toga, mogućnost lakog održavanja predstavlja karakteristiku kvaliteta kojoj je potrebno dati najviši prioritet u procesu dizajniranja sistema.

Održavanje postaje skupo kada kreirani softver ne zadovoljava zahteve, kada nije dovoljno testiran, ili kada oba uslova nisu ispunjena. Strukturni pristup dizajnu predstavlja atribut koji omogućava da se softver lakše održava i razvija. On se primenjuje kroz odgovarajuće tehnike kodovanja. Čitljivost koda je još jedna fundamentalna osobina koja se najbolje postiže u situacijama kada se kod kombinuje sa odgovarajućom količinom dokumentacije i sistemom koji automatski prati promene.

Nezadovoljavajući softver je uglavnom posledica lošeg dizajna. Loš dizajn obično nastaje kao posledica dva uzroka koja nisu međusobno isključiva: nedovoljno znanje arhitekte i neprecizni ili kontradiktorni zahtevi. Kontradiktorni zahtevi uglavnom nastaju kao posledica loše komunikacije.

Izvor: Zdravko Ivanković i Dejan Lacmanović, Softversko inženjerstvo 2 (skripta), Tehnički fakultet Mihajlo Pupin, Zrenjanin