🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: nl.comp.programmeren
Article #317

Re: Lijnen tellen van een project

#317
From: John Bokma
Date: Tue, 25 Jan 2005 18:47
106 lines
4095 bytes
Philip Paeps wrote:

> In be.comp.programming John Bokma <postmaster@castleamber.com> wrote:
>> Philip Paeps wrote:
>> > In be.comp.programming John Bokma <postmaster@castleamber.com>
>> > wrote: 
>> 
>> [ if ... { ]
>> 
>> > Da's de Correcte[tm] (K&R) manier.  Voor functies moet de
>> > inleidende { wel op een nieuwe lijn.  De reden: functies kan je
>> > niet nesten. 
>> 
>> In Perl geen probleem ;-) Maar ik snap de reden niet.
> 
> Functies zijn fundamenteel verschillend van control structures.  Door
> ze lekker veel plaats te laten innemen valt dat ook goed op.  Zo heeft
> men het mij toch steeds uitgelegd, en ik ben het er redelijk mee eens.

Ik niet, ik spring functies ook 4 spaties in (vind ik duidelijker):

......... {

    body
}

dus.

In Perl spring ik veel dingen in, b.v. hashtable vullen:

my %hash = (

    	key1 => value1,
    	key2 => value2,
    	:
    	keyn => valuen,
);

Of dingen als:

foobar(

    	foo,
    	bar,
    	foobar => {

    	    	key1 => value1,   	
    	}
);

(functie aanroep, met o.a. anonyme hash als parameter)

of dingen als:

    	$a->{name} cmp $b->{name}
                  or
    	$b->{value} <=> $a->{value}


>> Ik ben het met Sjoerd eens, zet ze er liever wel neer (tenzij je 100%
>> zeker weet dat er niks bij moet). Handig als je er iets bij wilt
>> zetten om te testen.
> 
> Een kwestie van smaak :-)

Nah, ik heb te vaak gemerkt dat als ik if ... ... schreef ik te vaak 
alsnog een {} nodig had, al was het maar even om iets te printen.

> Mee eens dat als je er wat wilt bijzetten de ontbrekende curlies
> misschien wat op de zenuwen kunnen werken.  Maar het ergert me minder
> dan de curlie-soup in lange single-action control structures.
> 
>     if (foo) {
>          bar(foo);
>     } else if (foobar) {
>          bar (foobar);
>     } else if (borkborkbork) {
>          burp();
>     } else {
>          blub();
>     }
> 
> Smaken verschillen :-P

Dat zijn de beperkingen van C ;-) In Perl zou ik bovenstaande gewoon 
nooit zo opschrijven. En in C zou ik wat meer wit gebruiken.

>> > > (Ok, random inspringen is nog erger).
>> > 
>> > Bweek... 
>>
>> Even vluchtig bekeken, en snap nog steeds niet waarom Perl onleesbaar
>> wordt genoemd. Wellicht C gewenning?
> 
> Perl is niet per definitie onleesbaar.  Perl maakt het de programmeur
> wel makkelijker om onleesbaar te zijn dan C 

Dus: het ligt aan de programmeur, niet aan de taal. En iemand die 
onleesbare Perl schrijft zou ik ook geen C willen zien programmeren, 
omdat dat dan ook onleesbaar wordt.

-- 
John Bokma
                 Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Ervaren Perl / Java programmeur beschikbaar:  http://castleamber.com/
Tevreden opdrachtgevers:     http://castleamber.com/testimonials.html
Technical Details
Message-ID: <Xns95E982180CF79castleamber@130.133.1.4>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!individual.net!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>

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!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: John Bokma <postmaster@castleamber.com>
Newsgroups: nl.comp.programmeren,be.comp.programming
Subject: Re: Lijnen tellen van een project
Date: 25 Jan 2005 18:47:21 GMT
Organization: Castle Amber - software development
Lines: 106
Message-ID: <Xns95E982180CF79castleamber@130.133.1.4>
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>
X-Trace: individual.net ff9AuQyvzKetXrjF2KP8ggGtoMZpilEBSGCh4LB0Qbb+1tJvLq
User-Agent: Xnews/5.04.25
X-Face: $7h&5K*ZL9*ZQ\6Hco2"V?1dD*C<ab^>zlws[S%i0b,@gKk|[,)Y-<hk143{.Ov"x{({zo( l,N\m`-_^nJfVQdEyt+-uAP^7WG]5mHj9&::7X-qK;Yv;xmRvNWQR"_igw+cr5WMj;6:zlj<R80Ei@ $gGWq&*{FL*kC*a