Article View: nl.comp.programmeren
Article #258Re: Lijnen tellen van een project
From: moi
Date: Thu, 27 Jan 2005 12:21
Date: Thu, 27 Jan 2005 12:21
104 lines
5505 bytes
5505 bytes
John Bokma wrote:
> moi wrote:
>>'t is gewoon defensief. Net als overmaat () haakjes.
>
>
> En defensief programmeren: je bedoelt de compiler warnings bijna uit
> zetten, en dan de rommel met truukjes opvangen? Liever niet.
>
Nee, juist andersom: testen van condities die niet voor (mogen/kunnen)
komen. Wegens: je weet maar nooit, tkan geen kwaad. Levert allemaal ruis
op ("visual clutter").
(jullie "if (++i > 10) break;" is ook zon voorbeeld)
Ook een slecht voorbeeld:
char * cp = (char*) malloc(100);
>>>Bij langere zaken, in Perl, (maar ook in C hoor) gebruik ik een hash
>>>table ipv. een lange switch. (Switch, Perl heeft geen switch, maar
> Eh, dus switch? Welnee, hashtables zijn een prima optie. Of soms een
> array.
>
IMO allebei een vorm van "data als data behandelen"
>
>>Er zijn twee strategieen: een extra laag van abstraktie
>>(isalnum() etc), of data_als_data_behandelen.
>
>
> Als: array vullen met pointers naar functies?
Niet perse. Als "het vlees" in de switch-cases heel erg variabel is,
is dat wel de meest flexibele methode. (en met inline functies is er
geen verschil tov een dikke wollige switch)
>>Voor dat laatste geval heeft perl (terecht) associatieve arrays,
> Of een gewoon array. En daarnaast natuurlijk reguliere expressies.
>>die C programmeurs node moeten missen 8-)
Is hetzelfde, alleen bij perl moet je minder zelf bouwen, vzv ik weet.
> Een hash table schrijf je zo zelf, vaak genoeg gedaan in C :-D (De hash
> functie is meestal het lastigste).
Leuke tak van sport. Bij "fixed domains" (zoals bij switch()) is er
zelfs een "perfect hash" mogelijk. Is nog een GNU programmaatje voor, IIRC.
>>[ik kan geen perl, trouwens, maar ik hoop, dat ik
>>-op een onbewoond eiland, met alleen maar de code, en heel veel tijd
>>om te lezen, de bedoeling van de programmeur, en ook nog
>>de wetten van perl zou kunnen doorgronden ]
>
>
> De syntax van Perl is niet zo heel veel anders vergeleken met C. Alleen
> heeft Perl wat extra dingen om de notatie te vereenvoudigen (reguliere
> expressies b.v.).
Ja, als je C+awk+sed+sh kent, kan je het bijna lezen!
(running gag van Larry Wall is om bij iedere nieuwe versie
een nieuwe betekenis van ':' te bedenken: "everybody wants the colon!" :-)
>>>>while (cp = fgets(fp, buff, sizeof buff)) {}
>>>
>>>Dit soort dingen kunnen fout gaan als cp zowel NULL als 0 kan worden,
>>>vzviw.
>>
>>Hier moet ik je corrigeren: return type is char*.
>
>
> En wat als die char * naar adres 0 wijst?
>
Dan wordt er een NULL aan cp geassigneerd (cp=NULL; dus).
NULL is een valide waarde voor een pointer, je mag hem alleen niet
derefereren.
>>>Yup, Hungarian zou verboden moeten worden :-D.
>
>>Hongaars is ook defensief, BTW...
>
> Nee, het is een vreselijke notatie die niemand hopelijk meer gebruikt in
> een nieuw project.
Hongaars is gebaseerd op angst.
Strong typing + vertrouwen op compilerwarnings geeft meer gemoedsrust.
>>>>BTW leuk draadje, waar ging het over, eigenlijk ?
>>>
>>>Iets met afvallen?
>>
>>Ik moet U hier afvallen ;-)
>
>
> Lijnen = afvallen :-D.
>
Is dat de regel ?
NB er was een backslash weggevallen in de "find . -name \*.java|wc -l"
Anders gaat ie globben.
AvK
Technical Details
Message-ID:
<5OqdnZp2HrBIQWXcRVnytA@casema.nl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!newsread.com!newsprint.newsread.com!66.133.170.4.MISMATCH!news-feed01.roc.ny.frontiernet.net!nntp.frontiernet.net!nntp.giganews.com.MISMATCH!border1.nntp.dca.giganews.com!nntp.giganews.com!local1.nntp.dca.giganews.com!nntp.casema.nl!news.casema.nl.POSTED!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> <Xns95E982F869770castleamber@130.133.1.4> <ct6veq.4f8.1@news.isolution.nl> <Xns95EA98A5B4Dcastleamber@130.133.1.4> <ct818b.198.1@news.isolution.nl> <hcWdnSBGdt9kZmrcRVnyvA@casema.nl> <Xns95EAA9F3B378Acastleamber@130.133.1.4> <MrmdnaRgN4o_tGXcRVnyiQ@casema.nl> <Xns95EABD554BD21castleamber@130.133.1.4>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!news1.google.com!newsread.com!newsprint.newsread.com!66.133.170.4.MISMATCH!news-feed01.roc.ny.frontiernet.net!nntp.frontiernet.net!nntp.giganews.com.MISMATCH!border1.nntp.dca.giganews.com!nntp.giganews.com!local1.nntp.dca.giganews.com!nntp.casema.nl!news.casema.nl.POSTED!not-for-mail NNTP-Posting-Date: Thu, 27 Jan 2005 06:21:41 -0600 Date: Thu, 27 Jan 2005 13:21:40 +0100 From: moi <avk@localhost> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040510 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> <Xns95E982F869770castleamber@130.133.1.4> <ct6veq.4f8.1@news.isolution.nl> <Xns95EA98A5B4Dcastleamber@130.133.1.4> <ct818b.198.1@news.isolution.nl> <hcWdnSBGdt9kZmrcRVnyvA@casema.nl> <Xns95EAA9F3B378Acastleamber@130.133.1.4> <MrmdnaRgN4o_tGXcRVnyiQ@casema.nl> <Xns95EABD554BD21castleamber@130.133.1.4> In-Reply-To: <Xns95EABD554BD21castleamber@130.133.1.4> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <5OqdnZp2HrBIQWXcRVnytA@casema.nl> Lines: 104 NNTP-Posting-Host: 83.83.6.100 X-Trace: sv3-1s1HSTK6BeAMkX8MVLEqkm5w36J06sebK61XBqeTUXiyAYkepUEHs6Vey9Iww0oKu0lkmNESamwONU2!+0m6N/mAkzth8wnhjI/WL7imlpXEb4IyoLNWt1d/RBPHESJFgcQfJC/EtmvdjLRmyIU= X-Complaints-To: abuse@casema.nl X-DMCA-Complaints-To: abuse@casema.nl X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.22