U vremenu neprekidnog razvoja, mogućnost brzog pisanja koda često je presudna kako bi moglo da se bude uspešan programer. Ako traje predugo da bi se izbacio kod za novu funkciju, rizikujete da budete poteškoća koja zadržava ostatak mreže za kontinuiranu isporuku. Ukratko, brže kodiranje je bolјe kodiranje (pod pretpostavkom da se kvalitet i sigurnost koda održavaju prema standardima u kojima radite, naravno).
Ako vam zvuči stresno, ne brinite. Evo šest saveta za povećanje brzine vaše tehnike kodiranja i procesa (i, ne, to nije savet poput „Vežbajte“), istovremeno održavajući kvalitet koda na nivou koji vaš tim zahteva.
- Odaberite koncizan programski jezik
Ne možete uvek da imate luksuz da odaberete na kojem jeziku želite da pišete aplikaciju. Ali kada to učinite, možete da postignete veću brzinu kodiranja usvajanjem jezika sažetom sintaksom – što znači da vam omogućava da implementirate puno funkcionalnosti sa manjim (ili kraćim) linijama koda.
Jezici poput Java i C++ poznati su po tome što zahtevaju duge isečke koda. C ima tendenciju da bude mnogo sažetiji. Jezici poput Python-a i Go-a sigurno su negde između.
Kada odlučujete da li je određeni jezik previše detalјan za vaše potrebe, imajte na umu da je balansiranje dužine koda i čitlјivosti važno. Možda ćete moći da napišete vrlo koncizan kod na C ako niko zapravo ne mora da ga pročita. Ali ako želite da napišete koncizan kod koji je takođe čitlјiv, Python bi mogao da bude bolјi izbor. Python ima tendenciju da bude malo više detalјan, ali njegova pravila uvlačenja mogu da pomognu u čitanju koda, čak i ako je napisan bez mnogo pažnje.
- Usvojite (i naučite) vodič za stil programiranja
Ponekad se najveća prepreka između vas i bržeg kodiranja borba da shvatite koje programske konvencije želite da koristite.
Da li bi trebalo da koristite tabove ili razmake? Kako se nosite sa velikim slovima u imenima promenlјivih? Razmišlјanje o pitanjima poput ovih može da vas spreči da brzo izbacite kod.
Možete da otklonite ove nesigurnosti tako što ćete osigurati da vaš tim usvoji i pridržava se vodiča za stil programiranja. Vodič za stil programiranja definiše odredbe koje će koristiti vaš tim. Osim što vam pomaže da kod zadržite konzistentnijim kod organizacije, vodič za stilove vam pomaže da brže pišete kod tako što izbegavate izgublјeno vreme razmišlјanja o tome koje konvencije da sledite.
- Komunicirajte sa svojim timom
Za neke timove programera najveći izvor kašnjenja u programiranju nije sam kod, već loša komunikacija o tome ko bi trebalo da piše šta. Ako ne možete da napišete svoju funkciju sve dok neko drugi ne napiše neku drugu ili ako duplirate funkcionalnost koju je napisao neko drugi, brzina isporuke će vam strašno padati.
Zato je klјučno da imatie plan igre za svaki novi razvojni ciklus. Pre nego što bilo ko započne sa kodiranjem, vaš tim treba da razjasni ko će šta da napiše i kojim redosledom i kako će kod svake osobe biti integrisan i testiran.
Ako radite sprintove, svoj plan možete da uspostavite tokom nedelјnih ili dvonedelјnih sastanaka. Za kontinuirane operacije isporuke, moraćete da se oslonite na komunikacijske kanale u stvarnom vremenu i alate za upravlјanje izvornim kodom da biste pomogli koordinisanje odgovornosti kodiranja.
- Koristite cloud IDE
Cloud IDE-i omogućavaju vam pisanje i testiranje koda u oblaku, umesto da postavlјate lokalni IDE na PC ili laptop. Iako vreme provedeno na podešavanju IDE-a možda i nije veoma značajno, vreme koje izgubite kada lokalni IDE nema dovolјno resursa da uradi ono što treba da se uradi, brzo se skuplјa. Ako ne možete efikasno da sastavite i testirate svoj najnoviji kod jer je računaru ponestalo memorije ili je memorisao svoje CPU resurse, završićete kodirajući sporije.
Cloud IDE eliminiše ovaj rizik, jer cloud IDE-i imaju na raspolaganju gotovo neograničenu količinu resursa. Pored toga, oni nude prednost što vam omogućavaju brže raspoređivanje koda u okruženja koja se baziraju na oblaku, jer ne morate da brinete o tome kako ćete ga prenositi sa lokalne mašine – već je u oblaku.
Naravno, upozorenje je da IDE u oblaku dobro funkcionišu samo kada imate pouzdanu i brzu internet vezu. Ako radite puno kodiranja u pokretu, oblak IDE možda neće da radi tako dobro kao onaj koji se pokreće lokalno. A ako pišete kod gde potrošnja resursa manje predstavlјa problem, lokalni IDE može da funkcioniše sasvim dobro. Ali, generalno, IDE-i u oblaku mogu da pruže neka važna pobolјšanja brzine kada je u pitanju kodiranje.
- Izaberite pravi IDE
Kada govorimo o IDE-ima, bez obzira da li koristite opciju zasnovanu na oblaku ili lokalnu opciju, odabir one koja najbolјe radi za vas je presudan korak ka bržem kodiranju. Postoji puno IDE-a tamo. Imaju različite interfejse i različite tokove rada. Ako imate izbor (to jest, ako ne radite u kompaniji koja zahteva da koristite određeni IDE), provedite neko vreme eksperimentišući sa različitim opcijama i izaberite onu koja će da vam najbolјe odgovara.
Imajte na umu da su neke IDE, poput Eclipse, zaista opšte namene i rade sa nizom programskih jezika. Drugi, poput Visual Studio-a, dizajnirani su kao opšta svrha, ali imaju tendenciju da najbolјe funkcionišu sa određenim jezicima (poput .NET-a i drugih Microsoftovih jezika prilagođenih VS-u). A neki, poput JetBrains WebStorm-a, rade samo sa određenim jezicima. U zavisnosti od jezika u kojem kodirate, jedan IDE može da vam pomogne da kodirate brže nego drugi
- Ne budite perfekcionista u programiranju.
Programeri imaju važnu ulogu u optimizaciji sigurnosti, pouzdanosti i performansi softvera. Pojavom cloud-a ta su razmatranja postala čak i važna (najmanje važno, jer neefikasan kod može lako da nadmaši troškove računarskog cloud-a). Zato, kao programer, sigurno biste trebali da preduzmete razumne korake ka tome da vaš kod bude što sigurniji i optimizovaniji.
Ali preduzimanje razumnih koraka ne znači da postanete perfekcionista ili opsednuti tim stvarima do te mere da usporite vaš rad kodiranja. Postoji tačka smanjenja povrata za pažlјivo kodiranje; kada ja pređete, odlažete proizvodnju aplikacije bez postizanja koristi koja opravdava kašnjenje.
Kao programer, morate da identifikujete šta je tačka smanjenja vraćanja za kod koji pišete. To će se razlikovati od organizacije do organizacije i od projekta do projekta. Na primer, ako je optimizacija performansi kritični prioritet za vašu kompaniju, tada je vredno trošenja dodatnog vremena za pisanje optimalnog koda. Ali ako ste startup koji finansira preduzeće, čiji se menadžeri brinu više o tome da brzo izvuku nove funkcije, nego da zadrže kod mršav i loš i izbegnu nepotrebne troškove hostinga u oblaku, onda to verovatno nije.
Sigurnost je teža tema. Ne želimo da vodimo evidenciju savetujući nijednom programeru da se ne brine oko pisanja sigurnog koda. Ipak, realnost je da su potrebe za sigurnošću veće kod nekih aplikacija i nekih vrsta kompanija nego kod drugih. Pored toga, nemoguće je garantovati da bilo koji kod nema propusta u bezbednosti. Iz oba razloga, programeri koji brzo i efikasno kodiraju su oni koji znaju koliko pažnje treba da posvete pitanjima bezbednosti – i kada da prestanu da se brinu i predaju kod.
Drugi faktor koji treba da odmerimo je koliko će se temelјno proveriti vaš kod pošto ga predate. Ako imate temelјnu QA operaciju koja bi verovatno mogla da dovede do problema sa performansama ili upotreblјivošću pre nego što kod krene u proizvodnju, možda nećete morati da brinete o tome da ćete potrošiti toliko vremena pokušavajući da usavršite svoj kod kao što biste uradili ako se radi samo osnovno testiranje pre primene.
Zaklјučak
Brzo pisanje koda predstavlјa izazov, ali sve je važnije za savremene programere koji imaju zadatak da budu u toku sa neprekidnim cevovodima isporuke. Sa pravim alatima (poput efikasnog IDE-a i vodiča za stil programiranja) i pravim tehnikama (poput zdrave perspektive koliko truda da ulože u performanse i bezbednost aplikacije) programeri mogu da se izbore sa ovim izazovima i brzo postignu brže kodiranje u svetu koji se brzo kreće.