Ljepota je u jednostavnosti: Evo šta eksperti programiranja savjetuju početnicima
Programski jezici, tehnike programiranja, razvojna okruženja, stil kodiranja, alati, razvojni proces, rokovi, sastanci, softverska arhitektura, šeme dizajna, timska dinamika, zahtjevi, greške, kvalitet koda i još mnogo toga. Sve je to uvijek na umu programera.
Programiranje istovremeno predstavlja i umjetnost, i zanat, i nauku, koje se prostiru mnogo dalje od samog softvera. Čin programiranja spaja diskretni svijet računara sa svijetom ljudi. Programeri posreduju između poslovnih zahtjeva i mogućnosti računara.
Sa toliko toga što treba da naučite, i toliko načina da to učinite, teško je pronaći „pravi put". U knjizi „97 stvari koje svaki programer treba da zna“ sakupljeni su savjeti nekoliko iskusnih programera koji su stvorili „mozaik“ koji svaki programer treba da zna. Prenosimo vam neke od njih.
Džajls Kolborn: „Stavite se u poziciju korisnika“
Svi mi vjerujemo da drugi misle isto kao i mi. Ali nije tako.
Psiholozi ovo zovu „lažnim konsenzusom“. Kada ljudi razmišljaju ili djeluju drugačije od nas, vjerovatno ćemo podsvjesno presuditi da nisu u pravu.
Ovaj „psihološki bag“ objašnjava zašto programeri imaju često problem da uspiju da se stave u poziciju korisnika. Korisnici ne misle kao programeri. Za početak, troše mnogo manje vremena koristeći računare. Oni ni ne znaju i ne žele da znaju kako računar „izvodi radove“.
To znači da oni ne mogu da „izvuku iz rukava“ bilo koju od tehnika za rješavanje problema koje su poznate programerima. Oni ne prepoznaju obrasce koje programeri koriste za rad.
Najbolji način da saznate kako korisnik misli jeste da ih posmatrate. Zatražite od korisnika da dovrše određeni zadatak koristeći softver koji je sličan onome što razvijate. Uvjerite se da je zadatak pravi: „Dodaj kolonu brojeva" je u redu; „Izračunajte vaše troškove za prošli mesec" još bolji.
Izbjegavajte zadatke koji su previše specifični, kao što su „Možete li da odaberete ove ćelije u tabeli i unesete SUM formulu?" – U tom pitanju postoji jasan trag.
Zatražite korisniku da vam govori o tome kako šta radi i da li ostvaruje napredak. Ne prekidajte ih. Nemojte pokušavati da im pomognete. Nastavite da se pitate: „Zašto on ili ona to rade?" Ili „Zašto ne rade (onako kako vi mislite da bi trebalo)?“
Prva stvar koju ćete primjetiti jeste da korisnici gotovo po pravilu iste zadatke rješavaju na sličan način. Oni pokušavaju da izvršavaju zadatke po istom redosljedu – i prave iste greške na istim mjestima.
Zato bi trebalo da programe dizajnirate na osnovu tog ključnog ponašanja.
Ovaj pristup razlikuje se od rješavanja problema na dizajnerskim sastancima, gdje obično prije ili kasnije neko od prisutnih postavi pitanja poput: „A šta ako korisnik želi...?"
Ovakav proces dovodi do elaborativnih karakteristika i konfuzije oko pitanja šta korisnici žele. Posmatranje korisnika eliminiše ovu konfuziju.
Jorn Olmhajm: „Ljepota je u jednostavnosti“
Postoji jedan Platonov citat, za koji mislim da je posebno koristan za sve programere softvera:
„Ljepota stila, harmonije, gracioznosti i dobrog ritma zavise od jednostavnosti.”
U jednoj rečenici ovo sumira vrijednosti kojima mi kao programeri softvera treba da težimo.
Postoji mnogo toga o čemu treba da brinemo u kodu: čitljivost, održivost, brzina razvoja, nedostižan kvalitet ljepote. Platon nam govori da je faktor koji omogućuje sve ove osobine jednostavnost.
Šta je lijep kôd? Ovo je potencijalno vrlo subjektivno pitanje. Percepcija ljepote u velikoj mjeri zavisi od individue, baš kao što naša percepcija zavisi od naše ličnosti i iskustva. Po mom iskustvu, jednostavnost je nešto što većina ljudi smatra lijepim.
Alan Keli: „Provjerite svoj kôd prije nego što okrivite druge“
Programeri – svi mi! – često teško prihvatamo činjenicu da nešto nije u redu sa našim kodom. Ovo nam djeluje toliko nevjerovatno da, nerijetko, prije pomislimo i da kompajler ne radi kako treba i prijavljuje grešku koje nema. Ipak, istina je da je vrlo (vrlo) neuobičajeno i rijetko da je problem nastao zbog „baga“ u kompajleru, interpreteru, menadžeru memorije i na drugim mjestima. Da, „bagovi“ postoje, ali su daleko manje uobičajeni nego što bismo voljeli da vjerujemo. S obzirom na to da su ovakve greške rijetke, mnogo je bolje da uložite svoje vrijeme i energiju u pronalaženje greške u vašem kodu nego u dokazivanje da kompajler nije u redu.
Ako želite da postanete uspješan programer, veoma je važno da počnete da učite na pravilan način. Zato su obuke i edukativni programi mnogo bolji, brži i efikasniji način učenja od učenja uz pomoć interneta, tutorijala i ostalih vidova samostalnog učenja. Ali obratite pažnju, ako želite da steknete znanja koja će vam omogućiti da se zaposlite kao programer, obuka mora da traje najmanje 12 mjeseci. Više o takvim obukama kod nas možete da saznate ovdje.
Radiosarajevo.ba pratite putem aplikacije za Android | iOS i društvenih mreža Twitter | Facebook | Instagram, kao i putem našeg Viber Chata.