|
Opušteno Trenutak za pauzu - Ćaskanje. Sponzor: |
|
Alati teme | Način prikaza |
28. 02. 2006. | #21 |
Dejan Grujic
Professional
Datum učlanjenja: 29.09.2005
Poruke: 380
Hvala: 9
64 "Hvala" u 40 poruka
|
Programiranje nema veze ni sa jednom drugom inzenjerskom disciplinom. Ne postoje striktna pravila koja uvek vode do uspeha. Samo preporuke, iskustvo i osecaj.
|
28. 02. 2006. | #22 | |
old school
Professional
Datum učlanjenja: 07.02.2006
Poruke: 340
Hvala: 32
44 "Hvala" u 20 poruka
|
Citat:
|
|
28. 02. 2006. | #23 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Evo i ja da se ukljucim u ovu nadasve interesantnu diskusiju
Da budem iskren, ne slazem se sa vecinom "saveta" koje je ovaj lik naveo. Ajmo redom: 10) Use exceptions Slazem se sa svim navedenim. Uopste ne razumem sta je Joel sa onim tekstom hteo da kaze. 9) (Don't) Use unsigned integers for values that can only be positive Neki jezici zaista ne omogucavaju definisanje unsigned vrednosti (PHP, Java), ali tamo gde je to jezikom omoguceno (C/C++) treba ga koristiti. Ne samo da se tako kreira robusniji kod, vec se stedi i memorija. Mozda nebitno za danasnje programe, ali kod baza nije isto koristiti big int kada recimo int unsigned zavrsava posao (veca tabela = sporija tabela). 8) (Don't) Design classes parallel to their physical counterparts Takodje se apsolutno slazem sa ovom tvrdnjom, narocito sa delom da je inheritance "overrated". Licno sam vidjao neke PHP bibliotete gde je klasa koju koristim "10-to koleno" od osnovne klase. Mislim da bi svi pocetnici u OOP dizajnu trebalo da malo citaju Bruce Eckela, koji jednostavno savetuje koriscenje kompozicije kad god niste sigurni da li koristiti nasledjivanje ili kompoziciju. car have engine, car is not engine. 7) (Don't)Make sure your team shares a common coding standard Ocigledno da autor teksta nikada nije morao da edituje fajl na kome su radila 3 programera gde je svako koristio sopstveni koding standard. Sto se mene tice pravila su sledeca: - Postoji definisan koding standard za celu kompaniju ili je deo specifikacije projekta ili - (losije resenje) Svaki developer koristi svoj stil ali se prilikom izmena vec napisanog koda postuje standard koriscen u fajlu (na taj nacin barem nemas 3 stila u jednom fajlu) 6) (Don't)Write lots of comments Komentare treba pisati, tamo gde je to potrebno. Dakle ne: //incrementing i i++; nego //moving to next element i++; i sl. Inace, ja narocito insistiram na kreiranju API dokumentacije, pa je phpdocumentor stil komentara (pandan javadoc kod Jave) standardni deo koding specifikacije koju sam pominjao gore. 5) (Don't)Use accessors or properties rather than public fields Ovo je vec jeres Necu ni da komentarisem Poslednja izmena od dinke : 28. 02. 2006. u 11:27. |
28. 02. 2006. | #24 | |
Knowledge base
Wrote a book
Datum učlanjenja: 07.06.2005
Lokacija: Neđe ođe...
Poruke: 1.197
Hvala: 339
688 "Hvala" u 178 poruka
|
Citat:
__________________
Чак Норис може да си ги врзе врвките на чевлите со стапалата. |
|
28. 02. 2006. | #25 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Poenta saveta br1 je da se ne trudiš da sve živo smisliš unapred, već da razmisliš, nažvrljaš neke osnovne beleške sebe radi na papir i kreneš da radiš. To je mnogo brže nego da razmisliš i posvetiš X dana na razradu kompletnog dizajna na papiru (koji može i da ne radi jer si propustio nešto izuzetno bitno).
Ako si disciplinovan programer i imaš kvalitetne igračke lako možeš da izađeš na kraj i sa izuzetno kompleksnim promenama na sistemu za relativno kratko vreme. Samo su od toga napravili bauk... --------------- Što se 5tice tiče meni se izuzetno sviđa Ruby koji polja maskira sa accessorima. Npr: Kôd:
car.max_speed = 250; print car.max_speed; Kôd:
class Car def max_speed @max_speed end def max_speed=(new_value) @max_speed = new_value end end
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog Poslednja izmena od Ilija Studen : 28. 02. 2006. u 11:57. |
28. 02. 2006. | #26 |
Ivan Dilber
Sir Write-a-Lot
|
po meni accessori imaju smisla samo ako se unutar njih vrse neke provere vrednosti, formatiranje podataka, hvataju exceptioni ili tako nesto.. ako imas setter koji samo uradi property=value i nista drugo, koji mu je onda smisao? (a to se vrlo cesto vidja po raznim bibliotekama...)
__________________
Leadership is the art of getting people to want to do what you know must be done. |
28. 02. 2006. | #27 |
Python Ambassador
Master
|
Amen.
Accessor abstrahuje pristup class member-u da se objekat ne bi doveo u nedozvoljeno/neodređeno stanje.
__________________
Python Ambassador of Serbia |
28. 02. 2006. | #28 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Svež primer. Imam reklamnu kampanju koja ima vlasnika. Tokom prvog dela razvoja owner_name je bio varchar polje koje je sadržalo samo ime jer je to bilo dozvoljno da bi se zadovoljila prva specifikacija (owner_name je korišćen samo za statistike). Međutim, tokom rada sam došao do toga da mi owneri trebaju odvojeno pošto se na osnovu njih vrše neke druge kalkulacije (potreba da se globalni cenovnik zameni cenovnikom na nivou vlasnika i slične stvarčice). Izmena je bila veoma jednostavna:
PHP kôd:
Accessori? Uvek!
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog Poslednja izmena od Ilija Studen : 28. 02. 2006. u 16:31. |
04. 03. 2006. | #29 | |
expert
Master
Datum učlanjenja: 20.12.2005
Poruke: 730
Hvala: 0
0 "Hvala" u 0 poruka
|
Citat:
|
|
04. 03. 2006. | #30 | ||
old school
Professional
Datum učlanjenja: 07.02.2006
Poruke: 340
Hvala: 32
44 "Hvala" u 20 poruka
|
Citat:
Citat:
|
||
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Koje ste .rs domene registrovali? | Dzordz | Opušteno | 199 | 01. 07. 2010. 21:09 |
tekstovi oglasa koje obožavam | Miloje Sekulic | Opušteno | 2 | 09. 01. 2009. 14:55 |
Slusalice. Koje ? | [nq] | Komunikacije | 16 | 03. 10. 2006. 10:04 |