You are on page 1of 6

SOFTVERSKA KONSTRUKCIJA

KOMENTARISANJE PROGRAMA

Predmetni nastavnik: Goran Radi

Polaznik: Davor Paji 10/11 Datum predaje 26.09.2011.

Komentarisanje programa

Davor Paji 10/11

Rezime:Komentarisanje programa direktno utie na kvalitet softvera i olakava njegov dalji razvoj. U radu je objanjena vanost komentarisanja programa kao i tehnike i naini komentarisanja programa. Da bi dobili itljiviji i razumljiviji program od presudne je vanosti kakav komentar emo odabrati, kao i nain na koji emo ga postaviti u sistem. Loi komentari mogu izazvati upravo suprotan efekat od onoga zbog ega se i kotisti komentarisanje programa. Kljune rei:Komentar, kod, efikasnost, program, itljiviji

1. UVOD
Razvojem tehnologije paralelno se razvija i potreba za sve veim, a samim tim i sloenijim odnosno kompleksnijim softverskim sistemima. Podrazumeva se da softverski ininjering prati razvoj i u dananje vreme neretko ukljuuje timove programera za izgradnju softvera. Upravo zbog ovoga izvorni kod se esto preureuje i menja od strane razliitih ljudi. Kvalitetno napisan kod olakava snalaenje i obezbeuje znaajnu utedu vremena. Jedan od kljunih faktora za razumevanje koda je upotreba smislenih naziva promenljivih, konstanti, procedura itd. Korienjem razumljivih imena nastaje samo-dokumentujui kod, odnosno kod koji je razumljiv sam po sebi. Takvom kodu nisu potrebna dodatna objanjenja, ali esto nije takav sluaj, pa je vano da se kodu dodeli komentar, odnosno dodatno objasni kako bi bio to razumljiviji i itljiviji.

2. VANOST KOMENTARISANJA PROGRAMA


Komentar moemo definisati kao dodatno objanjenje koda, a tim dolazimo do vanosti komentarisanja programa upravo zbog neminovne promene softvera tokom vremena, a razumljiv i itljiv program znatno smanjuje trokove prvenstveno utedom vremena. Komentare treba koristiti kako bi se obezbedio saet opis nekog dela koda i kako bi se onome ko pokuava da razume kod obezbedila dodatna objanjenja onih stvari koje nisu dostupne iz samog koda. Komentarisanje programa ima veliku vanost prilikom razvoja kvalitetnog softvera.

Primeri komentarisanja programa:

Primer 1 // write out the sums 1..n for all n from 1 to num current = 1; previous = 0; sum = 1; for ( int i = 0; i < num; i++ ) { System.out.println( "Sum = " + sum ); sum = current + previous; previous = current; current = sum; }

2/6

Komentarisanje programa

Davor Paji 10/11

Primer 2 // set product to "base" product = base; // loop from 2 to "num" for ( int i = 2; i <= num; i++ ) { // multiply "base" by "product" product = product * base; } System.out.println( "Product = " + product ); Primer 3 // compute the square root of Num using the Newton-Raphson approximation r = num / 2; while ( abs( r - (num/r) ) > TOLERANCE ) { r = 0.5 * ( r + (num/r) ); } System.out.println( "r = " + r ); Kako vidimo kod primera 1 rutina rauna prvih num Fibonacijevih brojeva, tako da je komentar pogrean. Kod primera 2 je komentar taan ali ne daje dodatna objanjenja. A kod primera 3 vidimo lo kod sa tanim komentarom. Tako da je samo kod primera 3 dobar komentar, a za efikasno komentarisanje su nepostojei komentari bolji od loih i siromanih, jer upravo svrha komentarisanja programa je itljiviji i razumljiviji program, a loi komentari mogu zbuniti i utroak vremena poveati. 2.1 TEHNIKE I NAINI KOMENTARISANJA PROGRAMA Za komentarisanje programa postoji nekoliko razliitih tehnika u zavisnosti od nivoa na koji se odnosi komentar: program, fajl, rutina, ili linija koda. Komentarisanje individulanih linija - U dobrom kodu, potreba za komentarisanjem pojedinih linija koda je retka. Postoje dva razloga zato linija koda treba da ima komentar: linija koda je suvie komplikovana i zahteva objanjenje, linija koda je nekada imala greku i potrebno je zapisati informaciju o tome. Komentarisanje na kraju reda - Komentari koji se unose u nastavku linija sa kodom. Mogu biti korisni, ali ih treba izbegavati jer unose nepreglednost u sam kod i teki su za modifikovanje i formatiranje. Komentarisanje pasusa koda Komentar koji opisuje namenu koda. Lako se odrava i ovo je najea vrsta komentara koja se koristi u dobro dokumentovanom programu: // swap the roots oldRoot = root[0]; root[0] = root[1]; root[1] = oldRoot;

3/6

Komentarisanje programa

Davor Paji 10/11

Efikasno komentarisanje ne oduzima previe vremena. Previe komentara je isto tako loe kao i kad ih je premalo.

Preporuke za efikasno komentarisanje: Korienje stilova koji se lako modifikuju. Za ilustraciju ovog stila pogledajmo sledei primer. C++primer komentarisanja koji je teak za odravanje
/********************************************************************** * class: * * author: Dwight K. Coder * date: * * Routines to control the twenty-first century's code evaluation * tool. The entry point to these routines is the EvaluateCode() * routine at the bottom of this file. July 4, 2014 GigaTron (GIGATRON.CPP) * * * * * * * *

**********************************************************************/

Komentar koji se vidi izgleda lepo, ali se na prvi pogled ne vidi teina odravanja, koja je komplikovana zbog zvezdica sa leve i desne strane, koje treba ubacivati i pomerati pri modifikacijama. Sledei primer takoe lepo izgleda ali je jednostavniji za odravanje:

C++primer komentarisanja koji je jednostavan za odravanje


/********************************************************************** class: GigaTron (GIGATRON.CPP)

author: Dwight K. Coder date: July 4, 2014 Routines to control the twenty-first century's code evaluation tool. The entry point to these routines is the EvaluateCode() routine at the bottom of this file. **********************************************************************/

Korienje pseudokoda radi utede vremena Ovim nainom se istiu komentari pre pisanja samog koda, i time se ostvaruju velike utede, jer po zavretku kodiranja, komentari su ve tu. Ovim nainom se i iskoriavaju sve dizajn prednosti pisanja pseudokoda na visokom nivou, pre popunjavanja na niskom nivou samog koda.

4/6

Komentarisanje programa

Davor Paji 10/11

Ukljuivanje komentarisanja u stil rada programera Ovim nainom se postie efikasno komentarisanje jer programer zapisuje komentare u toku rada i izbegava se kasnije priseanje svega kodiranog, to pored nedostataka iziskuje i puno vremena. Alternativa ovom pristupu je ostavljanje komentarisanja sve do kraja projekta, to ima vie nedostataka, a i ostavlja se vei deo kao poseban vei zadatak, umesto da se radi po malos vremena na vreme.

2.2 VRSTE KOMENTARA Klasifikacija komentara moe da se izvri u est kategorija:

Ponavljanje koda Ova vrsta komentara ne prua itaocu dodatne informacije, odnosno precizira drugim reima ta kod predstavlja. Objanjenje koda Komentari koji objanjavaju komplikovane, zamrene ili osetljive linije koda. Tada su veoma korisni, ali prvenstveno zato to je sam kod zbunjuju ili konfuzan. Uvek je bolje poboljati sam kod nego dodavati komentar. Markeri u kodu - Ova vrsta komentara nije namenjena da ostane u kodu. Predstavljaju poruku programerima da rad jo nije zavren, i esto se stavljaju pod posebne karaktere kako bi se lake pronali prilikom pretrage. Pregled koda Komentar koji u jednoj ili dve reenice opisuje nekoliko linija koda. Jako korisni za one koji nisu autori koda. Opis namene koda Ova vrsta komentara objanjava svrhu sekcije koda. Nekada se poistoveuju da pregledima koda. Navode se u formi reenja, primer:dohvatanje podataka o zaposlenom. Komentari nevezani za sam kod Ova vrsta komentara se navodi u izvornom kodu i ako nije vezan za sam kod i daje odreene informacije kao to su npr. copyright informacije, broj verzije, online reference i sl.

Za kompletiran kod su prihvatljive tri vrste komentara i to: Pregled koda, Opis namene koda i Komentari nevezani za sam kod.

3. ZAKLJUAK
Kako komentarisanje programa direktno utie na kvalitet softvera, kao i na njegov razvoj, veoma je vano da se u to veoj meri pazi i na kvalitet samog komentara. U kolikoj meri dobar komentar moe pomoi itaocu koji se prvi put susree sa programom, i pomoi u moguem modifikovanju, pa na taj nain znatno uticati na utroak vremena, u tolikoj meri pogrean, odnosno lo komentar moe odmoi. Potovanje pravila pisanja komentara znatno poboljuje kako itljivost samog koda, tako i celoukupnog programa.

5/6

Komentarisanje programa

Davor Paji 10/11

4. KORIENI INTERNET SADRAJ:


http://www.link-elearning.com/linkdl/preview/index.php? pk=26bb182888591034f90332a8c255ee57_ita_10&IDJedinica=137120&c=jedinice http://www.cqm.rs/2011/FQ2011/pdf/38/20.pdf http://www.etf.ac.me/materijal/1190887507PIS.pdf http://en.wikipedia.org/wiki/Comment_(computer_programming)

6/6