Article View: nl.comp.programmeren
Article #322Re: Lijnen tellen van een project
From: Edwin Martin
Date: Tue, 25 Jan 2005 20:25
Date: Tue, 25 Jan 2005 20:25
60 lines
2895 bytes
2895 bytes
Dr.Ruud wrote:
> Zo zijn er ook coders die dit soort 'academische truken'
> niet graag zien:
>
> switch(sex) {
> case 'm':
> default:
> sex = 'M';
> case 'M':
> do_male();
> break;
> case 'f':
> sex = 'F';
> case 'F':
> do_female();
> }
En terecht. Die is zeer foutgevoelige code. Iemand die een gebruikelijke
switch-case verwacht kan iets veranderen waardoor het fout gaat.
Nu kun je wel zeggen dat die persoon beter moet uitkijken, maar goede
code schrijven is makkelijker dan bij elke wijziging eerst de hele code
doornemen.
Kwaliteitscode is code die gemakkelijk onderhouden en uitgebreid kan
worden. Alleen als de code heel snel of heel klein moet zijn, zou je
daarvan kunnen afwijken.
Betere code is:
// Maak sex-variabele uppercase
// nog makkelijker is toupper() gebruiken
switch (sex) {
case 'f':
sex = 'F';
break;
case 'm': // Hoeft eigenlijk niet
default:
sex = 'M';
break; // Hoeft eigenlijk niet
}
// Voer sexe-afhankelijke code uit
// Kan ook met een if()-statement
switch (sex) {
case 'F':
do_female();
break;
case 'M':
default:
do_male();
break;
}
Groeten,
Edwin Martin
--
http://www.bitstorm.org/
Technical Details
Message-ID:
<wWxJd.20572$PH1.7083@amsnews05.chello.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!newsread.com!news-xfer.newsread.com!newspeer.monmouth.com!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.multikabel.nl!amsnews01.chello.com!amsnews04.chello.com!amsnews05.chello.com.POSTED!53ab2750!not-for-mailReferences:
<%XJId.2415$OZ2.252982@phobos.telenet-ops.be> <41f37378$0$140$e4fe514c@news.xs4all.nl> <ct2bdl$2p5$1@news1.zwoll1.ov.home.nl> <Xns95E88B1A63743castleamber@130.133.1.4> <41f55352$0$26219$18b6e80@news.wanadoo.nl> <Xns95E89B5FAF7C6castleamber@130.133.1.4> <41f587d8$0$11854$e4fe514c@news.xs4all.nl> <Xns95E8CE2C13FCcastleamber@130.133.1.4> <41f60627$0$11906$e4fe514c@news.xs4all.nl> <ct5e5s.104.1@news.isolution.nl>Show Full Headers
Complete Article Headers
X-Google-Thread: 107324,ab34a8b99e320381 X-Google-Thread: fcea4,ab34a8b99e320381 X-Google-Attributes: gid107324,gidfcea4,public X-Google-Language: DUTCH,ASCII-7-bit Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!newsread.com!news-xfer.newsread.com!newspeer.monmouth.com!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.multikabel.nl!amsnews01.chello.com!amsnews04.chello.com!amsnews05.chello.com.POSTED!53ab2750!not-for-mail From: Edwin Martin <e.j.martin@chello.nl> Organization: Bitstorm Internet Development User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: nl.comp.programmeren,be.comp.programming Subject: Re: Lijnen tellen van een project References: <%XJId.2415$OZ2.252982@phobos.telenet-ops.be> <41f37378$0$140$e4fe514c@news.xs4all.nl> <ct2bdl$2p5$1@news1.zwoll1.ov.home.nl> <Xns95E88B1A63743castleamber@130.133.1.4> <41f55352$0$26219$18b6e80@news.wanadoo.nl> <Xns95E89B5FAF7C6castleamber@130.133.1.4> <41f587d8$0$11854$e4fe514c@news.xs4all.nl> <Xns95E8CE2C13FCcastleamber@130.133.1.4> <41f60627$0$11906$e4fe514c@news.xs4all.nl> <ct5e5s.104.1@news.isolution.nl> In-Reply-To: <ct5e5s.104.1@news.isolution.nl> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Lines: 60 Message-ID: <wWxJd.20572$PH1.7083@amsnews05.chello.com> Date: Tue, 25 Jan 2005 20:25:00 GMT NNTP-Posting-Host: 24.132.235.253 X-Complaints-To: abuse@chello.nl X-Trace: amsnews05.chello.com 1106684700 24.132.235.253 (Tue, 25 Jan 2005 21:25:00 MET) NNTP-Posting-Date: Tue, 25 Jan 2005 21:25:00 MET