Dalja unapređivanja programa

13.6 Dalja unapređivanja programa 

Jupi.... Sada imam program koji zadovoljava sve korisnike, sada napokon mogu odahnuti... Težak trud se baš isplati, zar ne?
GREŠKA! Ne može se odahnuti nikada. Ukoliko si predstavio svoj program širokom auditorijumu, više nema stajanja. Ti si sebe ubacio u tzv software development process – a to je običan ciklus, u kome ti moraš da slušaš korisnike, usavršavaš sebe i svoj softver i implementiraš te ideje, itd.
Na primer, ova četvrta verzija programa je sasvim zadovoljavajuća skripta za rad većine korisnika – ali onih koji i nemaju specifične zahteve, pa čak i zarad njihovog (i tvog) zadovoljstva uvek postoji prostor za poboljšanja. Recimo, moja prva zamerka bi bila ta, što je program previše „pričljiv“ - tj. kada god ga pokrenem moram da unesem i izvore i destinaciju. To je za mene glupo, treba mi neki program koji će zapamtiti moj izbor, tako da kada god se pokrene sam uradi sve, bez da me „davi“ (na primer, hoću da podesim moj OS da pokreće ovaj program u određeno vreme svaki dan, dok ja radim nešto drugo, pa ne želim da budem prekidan). Da li već vidiš moguće rešenje? Da te podsetim – možeš koristiti pickle modul.
Takođe, neki korisnici ti i dalje nalaze zamerke – zašto se program ovako pokreće. Zar ne bi bilo bolje da se u komandnoj liniji mogu proslediti izvori i destinacija, pa da program sve odradi sam, bez da te prekida u radu. Kako rešiti ovo? Pa, možda preko sys modula i njegove argv promenljive?
Mnogi korisnici žele da program, ukoliko mu je tako zadato, prikazuje poruke koje govore šta je treutno bekapovano, kako bi imali neki vizuelni prikaz. To se može odraditi na sličan način, preko argumenata komandne linije, gde bi uključili i sintaksu programa, kako bi korisnik mogao da izabere argument standardne oznake  -v, pa da ovaj program počne da prikazuje poruke na ekranu (verbosity). Naravno, prikazaće poruke ako na određenom delu programa ubacimo print() funkciju.
Dalja moguća unapređenja bi bila, ukoliko dozvolimo da program čuva na nekom mestu korisnikov izbor, da se omogući menjanje tog izbora – to bi bilo jednostavno dodavanje ili uklanjanje fajlova i direktorijuma, koje korisnik želi da bekapuje, a to bi postigli sa append() ili remove() metodama liste. 
Takođe, iskusni programeri će ti reći da je tvoja skripta, u najmanju ruku smešna. Funkcije bi trebalo da su kraće, nisu korišćene neke napredne metode kao npr klase i sl. Njihovih saveta bi trebalo da se pridržavaš, ukoliko ih razumeš. Kada krenu da te bombarduju sa nekim „naprednim“ pojmovima ili bilo čim što ti, kao kreator programa, ne razumeš, lepo ih zamoli da te upute (daju izvor i razlog) na mesto odakle bi ti mogao da saznaš šta su ti uopšte i rekli (ukoliko ne razumeš pojam) i kako bi to dovelo do poboljšanja. Moraš biti otvoren sa njima, u suprotnom, možeš uraditi neke loše stvari sa programom, jer taj drugi programer ne mora da deli istu viziju, niti cilj – gde i kako tvoj software treba da radi. Klimanje glavom uz „Da, da, upravu si...“ ili „Razumem...“ može od tvog programa napraviti lako – tuđi. Jednostavna komunikacija u smislu davanja odgovora na pitanja gde, kako i zašto, je mnogo konstruktivnija i edukativnija.
Da li možeš da napraviš petu verziju, koja ispunjava neki od ovih zahteva korisnika?

13.5 Četvrta verzija
programa
Indeks 13.7 Proces razvoja
softvera

Коментари

Popularno

Audacious - program za slušanje muzike

LibreOffice Calc - program za izradu tabela

Brasero - program za rezanje CD-ova

Bekstvo iz Titela

Minitube - program za praćenje YouTube sadržaja

Idemo

Bezimena

Pozadina Bekstva iz titela

Pažljivo sa MS Word dokumentima koje primate putem elektronske pošte

Šta je to "prosijački štap" i kako se do njega dolazi? (prvi deo)