Bez posebnog poretka:
Radi bolje citljivosti, dobro je prilikom pisanja koda pratiti u sto vecoj meri "style guide" koji je na sledecem linku:
U RStudio postoji opcija Code > Reformat Code
koja sredjuje obelezen kod u odredjenoj meri i to je neki minimum ulepsavanja koda koji je ocekivan na seminarskom, mada i to cesto rezultuje vidno ruznom strukturom, koju treba srediti. Preporučljivije je koristiti alate u nastavku.
Vrlo dobar je paket formatR
, koji mozete koristiti i putem web aplikacije:
Tidy R Code with formatR (Yihui Xie)
On je dosta pouzdaniji od Reformat Code
opcije u Rstudio.
Takodje, paket styler
sluzi istoj svrsi i zgodan je za koriscenje:
Trudite se da vam nazivi promenljivih budu smisleni i da moze lako da se zakljuci koja im je svrha. Npr. ako racunate test statistiku i p vrednost, umesto za s
, p
opredelite se za test_stat
, pval
, sto moze da se razume sta oznacava bez razmisljanja.
Ukoliko neki deo smatrate da bi bilo korisno obrazloziti, pisite komentare. To je vrlo korisno citaocu za razumevanje napisanog. Npr. ako imate pametnu precicu koja u jednoj liniji radi nekoliko stvari i na efikasan ali netrivijlan nacin resava problem, poput all(mat * diag(nrow(mat)) == mat)
, nije zgoreg ukratko ga opisati u komentaru da bi bilo malo jasnije sta taj kod radi.
Ukoliko neka funkcija postaje prevelika, korisno je podeliti kod u vise funkcija. Na primer, kada u nekoj funkciji zelimo da odredimo da li je matrica mat
dijagonalna, lepse je napisati is_diagonal(mat)
i implementirati funkciju is_diagonal
zasebno, nego logiku odredjivanja dijagonalnosti matrice (koja moze i da se promeni nekad) ubaciti unutar velike funkcije koja nema veze sa dijagonalnim matricama. U ovom slucaju naravno sami treba da odlucite sta smatrate da je najjasnije, neke funkcionalnosti nema potrebe odvajati u posebne funkcije.
(Napomena. Mozete praviti koliko god zelite dodatnih funkcija na seminarskom, bitno je samo da postoje one koje su vam date na pocetku i definisane u zadacima, sa istim imenom, jer se one testiraju automatski).
Preglednosti, kako knjiga, tako i koda, doprinosi ako linije teksta/koda nisu dugacke, stoga trudite se da vam duzina linija koda bude manja od 80-100 karaktera. Jako dugacke linije, zbog kojih morate da "skrolujete" levo-desno mozete razbiti u nekoliko redova.
Imajte uvek u vidu da kod koji pisete neko (ukljucujuci i vas iz budućnosti) treba da cita, razume i nastavi rad na istom. U praksi mnogo vise vremena se provede na citanje/debagovanje starog koda nego na pisanje novog, pa je pametno od pocetka pisati sto urednije, jer to moze da stedi mnogo muke u buducnosti i kod je otporniji na greske (jer se iste lako otklanjaju).