Put do pakla popločan je copy paste-om

IT zajednica 7. sep. 2021

Zvuči licemerno, ne? Ali ovog puta ne mislim na naše svakodnevne male programerske grehove, kad “ukrademo” kod sa stackoverflow-a ili prilagodimo neki stari algoritam novom problemu. Mislim na one mnogo gore stvari koje rutinski radimo, totalno nesvesni činjenice kakve bug-ove proizvodimo.

Kako se softver razvijao i “normalci”, ljudi koji nisu iz našeg sveta programiranja, počeli da ga prihvataju kao deo svoje svakodnevnice, došlo je do naglog proširenja tržišta softvera. Nekad se računarstvo svodilo na programiranje stvari koje su od opšeg javnog značaja, a danas doslovno živimo sa softverom. Porastom tržišta, samim tim i tražnje, cena softvera je znatno porasla, a programeri postali deficitarna radna snaga.

Razvijanje potpuno jedinstvenog rešenja za svakog klijenta je ekonomski neisplativo i gotovo je nemoguće proizvesti tu količinu softvera u neko dogledno vreme. Upravo zbog toga, kompanije su se opredelile da prave jedinstven proizvod koji će prilagođavati novim klijentima, koji imaju sličan poslovni proces. Tako da, umesto da svaki put programiraju od nule, novo rešenje naslanjaju na osnovni kod. Ovaj pristup naziva se software product line. Ovakvi proizvodi su ekonomični, ali i veoma izazovni. Sam proces u industriji postoji već decenijama, poznatiji kao proces pokretne trake, ali u softverskom inženjerstvu se koristi tek nešto više od deceniju. Primena SPL-a dovela je do povećane produktivnosti, međutim da li je ovaj proces optimizovan? Da li zaista koristimo sve resurse u punom kapacitetu?

Kada se jednom ustanovi praksa proširenja modela, od nje se ne odstupa. Dolaskom novih projekata, nakon par sličnih proširenja, svi nesvesno počinjemo da kopiramo prethodni projekat. I time dolazimo do poente, vremenom ljude počne da zamara nekreativni deo posla i konstantnim kopiranjem starog koda često naprave neki sitan bug, koji je kasnije teško uhvatiti pošto recimo dođe do pogrešnog arhiviranja određenog polja ili lošeg mapiranja na grafički korisnički interfejs i slično. Složićete se da se sa ovim susrećemo od fakulteta i da se često pitamo: Zašto baš ja moram ovo da radim? Nakon toga kada napokon dođemo do kreativnog dela, budemo iscrpljeni od silnog kopiranja i prepravljanja i ne budemo najbolje koncentrisani, tako da gubimo na kvalitetu koda. I ne samo na kvalitetu, samo vreme je najvredniji resurs koji čovek poseduje, dakle, ako dva, tri programer dana trošimo na kopiranje starog koda, mi nismo potrošili samo kompanijske resurse, već i svoje. Za ta dva dana nismo naučili ništa novo.

Kako izaći iz ovog začaranog kruga dobrih namera? Odgovor je jednostavan. Samim tim što uviđamo šablon, odnosno ustaljenu praksu, rešenje nam se samo nameće - model driven metodologija. Odnosno pisanje koda koji piše kod.

Autor: Tijana Lalošević
Software engineer
Schneider Electric Razvojni centar

Pozivam vas na PowerIT online konferenciju u organizaciji Schneider Electric Razvojnog centra gde ću vam pričati više o tome kako napisati dobar osnovni kod ili prilagoditi već postojeći kod. Kao i kako napisati svoj generator koda i šta sve nude različiti programski jezici.

Tagovi

Schneider Electric

Schneider Electric Global razvija savremene tehnologije i rešenja za upravljanje energijom i procesima na bezbedan, pouzdan, efikasan i održiv način.

Tvoja prijava je uspešno sačuvana!
Odlično! Da bi imao pristup kompletnom sadržaju bloga potrebno je da završiš proces plaćanja.
Tvoja prijava je uspešna!
Tvoj nalog je aktiviran, sada imaš pristup kompletnom sadržaju bloga.