Ten Cmmdts

From victor  Tue Nov 24 16:10:27 1992
Return-Path: [victor]
Received: by marie.stat.uga.edu (4.1/SMI-4.1)
	id AA27792; Tue, 24 Nov 92 16:10:27 EST
Date: Tue, 24 Nov 92 16:10:27 EST
From: victor (Victor Grubbs)
Message-Id: [9211242110.AA27792@marie.stat.uga.edu]
To: bwc@marie, david@marie, dlq@groucho.dev.uga.edu, tom@marie

Xref: athena.cs.uga.edu comp.unix.wizards:8142 alt.folklore.computers:26740
Newsgroups: comp.unix.wizards,alt.folklore.computers
Path: athena.cs.uga.edu!emory!swrinde!zaphod.mps.ohio-state.edu!cs.utexas.edu!torn!ryelect!elf
From: elf@ee.ryerson.ca (luis fernandes)
Subject: Re: So You Want To Be A Wizard? (A modest proposal)
Message-ID: [1992Nov24.202852.9643@ee.ryerson.ca]
Sender: news@ee.ryerson.ca
Nntp-Posting-Host: brundel
Organization: Ryerson Polytechnical Institute, Toronto
References: [1jXlcG#575FKP4KlPy74ZPYBY5ltVXn=esr@snark.thyrsus.com]
Date: Tue, 24 Nov 1992 20:28:52 GMT
Lines: 64

On a somewhat religious vein (there's bound to be some blood-letting):

           The Ten Commandments for C Programmers

                       Henry Spencer

1    Thou shalt run lint frequently and study its pronounce-
     ments  with  care, for verily its perception and judge-
     ment oft exceed thine.

2    Thou shalt not follow the NULL pointer, for  chaos  and
     madness await thee at its end.

3    Thou shalt cast all function arguments to the  expected
     type  if  they  are not of that type already, even when
     thou art convinced that this is unnecessary, lest  they
     take  cruel  vengeance upon thee when thou least expect

4    If thy header files fail to declare the return types of
     thy  library functions, thou shalt declare them thyself
     with the  most  meticulous  care,  lest  grievous  harm
     befall thy program.

5    Thou shalt  check  the  array  bounds  of  all  strings
     (indeed,  all  arrays),  for  surely  where thou typest
     ``foo'' someone someday shall type ``supercalifragilis-

6    If a function be advertised to return an error code  in
     the  event  of  difficulties, thou shalt check for that
     code, yea, even though the checks triple  the  size  of
     thy  code  and produce aches in thy typing fingers, for
     if thou thinkest ``it cannot happen to me'',  the  gods
     shall surely punish thee for thy arrogance.

7    Thou shalt study thy libraries and strive  not  to  re-
     invent  them  without cause, that thy code may be short
     and readable and thy days pleasant and productive.

8    Thou shalt make thy  program's  purpose  and  structure
     clear  to  thy  fellow  man by using the One True Brace
     Style, even if thou likest it not, for  thy  creativity
     is  better  used  in  solving problems than in creating
     beautiful new impediments to understanding.

9    Thy external identifiers shall be unique in  the  first
     six characters, though this harsh discipline be irksome
     and the years of  its  necessity  stretch  before  thee
     seemingly  without end, lest thou tear thy hair out and
     go mad on that fateful day when thou desirest  to  make
     thy program run on an old system.

10   Thou shalt foreswear, renounce,  and  abjure  the  vile
     heresy  which  claimeth that ``All the world's a VAX'',
     and have no commerce with the  benighted  heathens  who
     cling  to  this  barbarous belief, that the days of thy
     program may be long even though the days of thy current
     machine be short.

luis fernandes  [elf@ee.ryerson.ca]

<> <>