Student Računarskog fakulteta Nebojša Vasović je u sredu, 1. marta 2023. godine odbranio diplomski rad na temu Primena čiste arhitekture u implementaciji veb foruma pred komisijom koju su činili mentor dr Bojana Dimić Surla i član dr Nemanja Radosavljević.
U uvodu svog rada Nebojša je istakao sledeće:
Nije vam potrebno veštine i znanja da napišete program koji radi. Deca to stalno rade. Mladi programeri, u kancelarijama širom sveta, prebiraju planine dokumentovanih zahteva, koje se nalaze u džinovskim sistemima za praćanje grešaka, i popravljaju ih da bi njihovi sistemi „radili“. Kod koji oni pišu možda nije najbolji, ali uspeva. Uspeva, jer naterati nešto da radi – jednom – jeste jednostavno. Sasvim je druga stvar napisati program koji radi ispravno. Pisanje ispravnog programa jeste teško. Za to je potrebno znanje i veština koje većina mladih programera tek treba da stekne. To zahteva razmišljanje i analizu, za šta mnogi programeri, jednostavno, nemaju vremena. To zahteva određeni stepen samodiscipline i organizacije o kojima većina programera ni ne sanja da im je potrebna. Za to bi trebalo da imate strast prema profesiji i želju da postanete profesionalac. Međutim, kada napišete ispravan kod događa se ono magično: nije vam potrebna gomila programera da ga održite u radu. Nema potrebe za obimnom dokumentacijom zahteva, ni za ogromnim sistemima za praćenje grešaka. Ispravan programski kod zahteva samo deo ljudskih resursa za kreiranje i održavanje. Promene su jednostavne i lako se izvršavanju. Greške su retke. Napor je sveden na minumum, a funkcionalnost i fleksibinost su dovedeni do maksimuma.
…
Čista arhitektura je arhitektura softvera koja je dizajnirana za kreiranje sistema koji su laki za razumevanje, testiranje i održavanje. Neki od prednosti čiste arhitekture uključuju:
- Razdvajanje odgovornosti: Čista arhitektura podstiče programere da razdvoje poslovnu logiku od implementacionih detalja, što olakšava modifikovanje ili zamenu određenih delova sistema bez uticaja na druge.
- Testabilnost: Čista arhitektura promoviše razvoj vođen testovima (TDD), jer omogućava programerima da pišu testove koji izoluju i testiraju pojedinačne komponente. Ovo rezultira pouzdanijim i lakšim za održavanje kodom.
- Skalabilnost: Čista arhitektura obezbeđuje modularnu strukturu, što olakšava skaliranje sistema dodavanjem ili uklanjanjem komponenti bez uticaja na celokupnu arhitekturu. 4. Nezavisnost od okvira i biblioteka: Čista arhitektura izbegava vezivanje aplikacije za
određene okvire ili biblioteke, što olakšava prelazak na nove tehnologije po potrebi. 5. Održivost: Razdvajanjem odgovornosti i održavanjem modularne strukture, čista arhitektura pomaže da kod bude lakši za razumevanje i održavanje tokom vremena. 6. Fleksibilnost: Čista arhitektura pruža fleksibilan okvir koji se može prilagoditi širokom spektru upotreba i zahteva. - Veći kvalitet: Pružanjem jasnih granica i čistih interfejsa, čista arhitektura pomaže da se obezbedi visokokvalitetan sistem koji je manje sklon greškama i bagovima.
Ukratko, čista arhitektura pruža laku održivost, testiranje i skalabilnost, dok istovremeno omogućava fleksibilnost i nezavisnost od platforme. To znači da je čista arhitektura dobar izbor za razvoj softvera koji treba da bude dugoročno održiv, skalabilan i fleksibilan. – zaključio je Nebojša.
Fotografije sa odbrane dostupne su u galeriji.