Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako počinjete rješavati pred vas postavljeni zadatak?

[es] :: Art of Programming :: Kako počinjete rješavati pred vas postavljeni zadatak?

[ Pregleda: 4240 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zorrome

Član broj: 22587
Poruke: 198
*.xnet.hr.



Profil

icon Kako počinjete rješavati pred vas postavljeni zadatak?27.07.2009. u 09:41 - pre 179 meseci
Zanima me kako počinjete riješavati pred vas postavljeni zadatak na poslu. Znači, dobijete zadatak da morate određenu aplikaciju proširiti s nekom formom u koju se upisuju neki parametri. Na gumb "Kreni" počinje se vrtiti algoritam u pozadini. Pretpostavimo da zadatak nije neki rutinski. Pretpostavljam da svi počinjete "nešto" skicirati na papiru. Kako to kod vas izgleda? Postoji li neki princip, uobičajena praksa? Postoji li neki dokumentirani pristup? Ima li tko kakav dobar članak, knjigu o tome?
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Kako počinjete rješavati pred vas postavljeni zadatak?27.07.2009. u 10:48 - pre 179 meseci
Glavni od svih opštih principa je da treba da težiš unapređivanju svojih veština i postupaka. Drugim rečima uradi sada kako god da misliš da je najbolje, ali dok ga radiš traži i načine da sledeći put to uradiš bolje. Ako je problem komplikovan onda ga rastavi na jednostavnije činioce. Ako je neki činilac komplikovan onda ga rastavljaj dalje. Ako je nešto komplikovano a deluje nemoguće za rastavljanje onda dobro razmisli da li ipak može nekako da se pojednostavi. Nemoj da se baviš detaljima sve dok na papiru (ili u glavi) ne utvrdiš da je problem moguće rešiti, i da u načelu imaš rešenje za 90% problema.
 
Odgovor na temu

Pedja_N
Predrag N
nije poznata

Član broj: 221565
Poruke: 71
77.239.78.*



+4 Profil

icon Re: Kako počinjete rješavati pred vas postavljeni zadatak?30.07.2009. u 23:13 - pre 179 meseci
Uh, ja sam tezak na ovome,kad treba da se pocne raditi moram da sve dobro proucim da bi se bacio na posao.
Skiciranje obavezno,znaci bez obzira koliko bio posao zahtevan ili ne ja "zvrljam" k'o da projektujem CERN-ovu masinu. :-)
Pre pocetka dosta trazim info. bilo iz literature ili 'neta a onda lagano u akciju.Kad iskoci problem opet nazad na trazenje info i resenja.
Lakse mi je nekako sam da trzaim nego da druge pitam,ne znam zasto,ali bas mrzim da smaram ljude i da se raspitujem,a to mi je jedna velika greska.
 
Odgovor na temu

dragancesu
subotica

Član broj: 38340
Poruke: 2189
*.adsl.eunet.rs.



+73 Profil

icon Re: Kako počinjete rješavati pred vas postavljeni zadatak?11.08.2009. u 12:16 - pre 178 meseci
Nekad davno sam ucio teoriju, pa jedna IBM metologija (da ne lupam naziv) kaze kreni od kraja, znaci sta hoces u rezultatu, analiziraj sta ti za to treba na ulazu, pa redom obezbedi sve ulazne podatke.

Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
 
Odgovor na temu

LoneWolf8
Bg

Član broj: 61340
Poruke: 5
93.86.204.*



Profil

icon Re: Kako počinjete rješavati pred vas postavljeni zadatak?23.08.2009. u 22:35 - pre 178 meseci
To je nesto slicno TDD-u (test driven development)... ako se ne varam. To nije lose koliko sam provalio (inace i ja sam u neku ruku pocetnik sa projektima), manje se smaras sa greskama. Napises lepo test za funkcije koje trebaju nesto da rade. Tako za svaku klasu. Fora je u tome da prvo pises test pa tek onda klasu.
Mada mene zanima kako mozemo da budemo sigurni sta sve treba testirati... ima dosta stvari koje se ljude ne sete na vreme. Toliko od mene... Pozdrav svima.
 
Odgovor na temu

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.hermes-softlab.com.



+2 Profil

icon Re: Kako počinjete rješavati pred vas postavljeni zadatak?25.08.2009. u 15:43 - pre 178 meseci
Posto ja jos nisam dovoljno tehnicki potkovan da mogu sve i svasta da provalim odmah, krecem uvek od razlaganja problema na manje probleme i vracanja na osnove. Tipa imam neki kompleksan problem prvo ga razlozim na sto vise delova, i onda svaki deo u zavisnosti od kompleksnosti na manje. Pa onda resavam jedan po jedan dok ne dodjem do onoga sto me je mucilo na pocetku. Bas sam jednom pravio igricu u Java ME (do tada nisam ni znao da postoji :) ) i sama igra nije bila problem ali posto je trebalo ukljuciti neki service nisam znao kako to da uradim. Razlozio sam problem i video da poziv tom servisu treba da se odigra na posebnoj niti. Ali nisam znao kako se radi sa nitima, pa sam odradio par jednostavnih tutorijala za niti, to uklopio u poziv servisu, na kraju sve to spakovao tamo gde treba da bude u glavnom problemu. Uvek je, po meni bar, dobro razloziti bilo koji problem na manje.
 
Odgovor na temu

zorrome

Član broj: 22587
Poruke: 198
78.1.153.*



Profil

icon Re: Kako počinjete rješavati pred vas postavljeni zadatak?27.08.2009. u 23:03 - pre 178 meseci
Evo ja sam se baš sjetio zadatka iz matematike u srednjoj školi ili na faxu. Dakle, ako se radilo o geometriji vrlo jednostavno sam nacrtao geometrijski lik, označio stranice, napisao koje podatke imam, koje trebam i što se traži. Onda je bilo koliko - toliko jednostavno dobiti riješenje. Danas sam radio kompliciranju stored proceduru i zapitao sam se kako raspisati taj problem, da bih vidio kojim redosljedom i što trebam dobiti. Ponekad to nije problem ako nije veliki zahtjev. Ako je veliki zahtjev on se rascjepa na niz manjih problema koji se rješavaju, ali je vrlo bitno da ponekad i ti manji problemi se presijecaju na nekim točkama i onda se opet tu zakomplicira...itd. itd. Probao sam i Test Driven Development. Uglavnom, sve uspješno dosad rješavam, ali opet tražim neki način koji bi se pokazao ispravnim pri pristupanju zahtjevu, zadatku, problemu. To može biti npr. pristup učenju nekog ispita (skupim materijale, prođem predavanja, knjige ... neki npr. prođu zadatke prije teorije, iako 95 posto ljudi prolazi prvo teoriju), možda čak najbolje neka primjena rješavanja problema iz matematike. Dosad sve radim intuitivno, a to ne želim. dragancesu je spomenu neku IBM metodologiju. Koja je to? Koje još postoje?
 
Odgovor na temu

EArthquake

Član broj: 20684
Poruke: 884
*.adsl.eunet.rs.



+67 Profil

icon Re: Kako počinjete rješavati pred vas postavljeni zadatak?05.09.2009. u 07:13 - pre 177 meseci
metodologija resavanja problema je umnogome uslovljena paradigmom programiranja koju koristis za resavanje datog problema

u struktuiranom programiranju imas top-down dekompoziciju problema, tu je jako zgodno crtati dekompoziciju
znaci delis problem na manje , nezavisne delove i tako dok ne dodjes do nekih lakih , da kazem nedeljivih problema
za koje znas resenje , tj algoritam resenja

kako na papiru imas skicirane relacije izmedju resenja tih malih problema i resenja pocetnog problema
sklapas ih da dobijes veliko resenje



s druge strane , u objektno orjentisanom programiranju/metodologiji
pocinjes sa modelovanjem problema , pogledaj UML . za iole vece projekte je de facto standard
ali i tu je glavni prncip hierarhijska dekompozicija s tezeg na vise laksih problema

znaci modelujes entitete koji ucestvuju u problemu (tj klase u objektnoj metodologiji)
za svaku klasu oznacis koje funkcionalnosti (metode) poseduju
i na kraju kako svaki entitet interaguje s nekim drugim da bi dosao do resenja

modelovanjem u UMLu dobijes i nacrt svih veza izmedju klasa kada zavrsis sa modelovanjem
i zatim ,jednu po jednu, implementiras klase i njihove metode ...



naravno , ne vezano za metodologije , dok dodjes do algoritma koji je resenje nekog problema ,
crtanje na papiru svakako pomaze , mnogo je lakse provesti 2 sata svrljajuci po papiru u potrazi za dobrim resenjem
nego napisati program za 10 minuta , a onda 3 sata poboljsavati isti (pored toga sto je lakse , dosta je i elegantnije , pa je i samosatisfakcija zbog pronadjenog resenja veca! )


EDIT:

sad procitah zadnji post

u dekompoziciji problema najvaznije je ustanoviti delove problema koji su nezavisni
ako imas dva koraka koji su zavisni , onda je to jedan korak ,
mozda , ako ih posmatras kao celinu , budes u stanju da ih razbijes na vise koraka ...

princip dekompozicije je verovatno star koliko i programiranje, ali je postao definitivna stvar pri presavanju problema
objavljivanjem knjige Structured Programming , Dijkstra , Dahl i Hoare
koja iako je stara 30ak godina , ima sta da ponudi


 
Odgovor na temu

[es] :: Art of Programming :: Kako počinjete rješavati pred vas postavljeni zadatak?

[ Pregleda: 4240 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.