🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: nl.comp.programmeren
Article #322

Re: Lijnen tellen van een project

#322
From: Edwin Martin
Date: Tue, 25 Jan 2005 20:25
60 lines
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-mail
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>

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