Regelmatig zie ik stukje code voorbij flitsen die mijn tenen doen krommen. Sommigen zijn nodig voor eenvoudige uitleg zonder smuk maar anderen zijn zo uit code ge-cut en paste. Soms kan ik mij niet inhouden en moet ik daar wat van zeggen. Vandaag was het weer zover ... single point of exit
http://gathering.tweakers.net/forum/list_messages/1136605 .
Voor mijn werk moet ik enorm failure safe schrijven, voor de hobby en simpele applicaties hoeft dat natuurlijk niet allemaal ... maar allemaal niet is ook niet goed, waar ligt de grens.
Wat is in jullie ogen een goede balans tussen goede code schrijven en het voor de hobby ook nog een beetje snel afhebben? Belangrijke beperking in deze discussie is wel dat het een consequente keuze moet zijn, dus bijv. na een if altijd {} ook als er maar 1 statement is. Geen taal specifiieke keuzes al denk ik dat de overgrote kudde goed overweg kan met C, PHP en Java. Dus bij voorkeur deze gebruiken in code snippets.
Wat vuurwerk om mee te beginnen:
Voor mijn werk moet ik enorm failure safe schrijven, voor de hobby en simpele applicaties hoeft dat natuurlijk niet allemaal ... maar allemaal niet is ook niet goed, waar ligt de grens.
Wat is in jullie ogen een goede balans tussen goede code schrijven en het voor de hobby ook nog een beetje snel afhebben? Belangrijke beperking in deze discussie is wel dat het een consequente keuze moet zijn, dus bijv. na een if altijd {} ook als er maar 1 statement is. Geen taal specifiieke keuzes al denk ik dat de overgrote kudde goed overweg kan met C, PHP en Java. Dus bij voorkeur deze gebruiken in code snippets.
Wat vuurwerk om mee te beginnen:
- Single point of exit (dus maar 1 return statement)
- Altijd booleans checken tegen hun waarde (a==true)
- Altijd nieuwe context in {} zetten, ook bij 1 statement
- Nooit meerder statements op 1 regel (for loop is uitzondering, ++=1 statement)
- Functies nooit aanroepen met berekeningen in de parameter list (drukaf(2*b+1);)
- else...if constructies die meer als twee keer genest zijn, verbieden.
- (enterance/exit tracing van een functie)
[ Voor 85% gewijzigd door .oisyn op 29-05-2006 21:41 ]
Niet quoten, zorgvuldige reacties volgens de regels worden zo weggewerkt: *knip*, reactie op geknipte reactie.