Unruh wrote:
> "Richard B. Gilbert" <rgilber...@comcast.net> writes:
> 
>> David Woolley wrote:
>>> Joseph Gwinn wrote:
>>>> We have moved from the meaning of status code 9514 to the more general 
>>> But you should have kept the thread, even if the subject changed.
>>>
>>>> issue of how NTP shall be supported, so I've collected the relevant 
>>>> threads below.
>>>> More generally, it's hopeless to expect the world's sysadmins to read 
>>>> NTP code (or any other kind of code).  They just don't have the time, 
>>> Generally, you only need to read a small bit of code to answer this sort 
>>> of question, but if you haven't got the time you should pay someone who 
>>> does have the time.
> 
>> The ntpd distribution is about 70,000 lines of code!  Expecting people 
>> to be able to find their way around is not realistic!  Before the user 
>> can read that "small bit of code", he has to FIND it.  He has to find it 
>> in 70,000 lines of code.  Since the number "9514" may never appear 
>> anywhere in the code since it's a "bit mapped" value, what is the reader 
>> supposed to look for?
> 
> Well, while that is true, grep can be your friend. Thus especially in an
> output messages, grepping for that message will often send you to the right
> place in that 70000 lines of code. 
> 
> 
>> Writing the documentation is part of producing the package.  Programmers 
>> hate to write documentation but who else is going to do it?  Who else can?
> 
>> I once spent several days trying to understand the driver for the 
>> Motorola Oncore M12+T reference clock.  I had to give up.  I had no idea 
>> what the variables represented!  I had 200 or so pages of Motorola's 
>> documentation for the hardware but that was not enough to help.
> 
>> The programmers think it's obvious.  It's not!  I can see that the code 
> 
> No. The programmer thinks it is obvious on the day he writes it. Three
> months later he has forgotten what in the world bTTlST was supposed to
> mean. 
> 
>> swaps the positions of the two bytes in a sixteen bit word.  If you 
>> don't include a comment explaining *why* you are swapping the bytes it 
>> makes the code extremely difficult to understand.  It may be obvious to 
>> you that two bytes are being swapped to put them in "network order" but 
>> it certainly is not obvious to the reader.
> 
>> If your code is difficult to read and understand, it is naturally going 
>> to be difficult to find people willing and able to help maintain it and 
>> to bring them up to speed!
> 
>> A computer program is not just a series of instructions to be executed 
>> by the machine, it is also a document that must be understood by human 
>> beings!
> 
> Agreed.
> On the other hand the programmer is usually worried first about getting the
> bloody code working, so spending a lot of time documenting something you
> will probably change tomorrow seems pointless, and once the 5000 lines have
> been written and debugged, it is far too late at night to document. 
> 

Then God forbid that the code ever needs to be modified!  The chances of 
introducing a bug are great.  Most of the bugs will be found soon enough 
but there's always the one that occurs only on the night of the first 
full moon in a leap year!  And lots of luck finding it!!


_______________________________________________
questions mailing list
questions@lists.ntp.org
https://lists.ntp.org/mailman/listinfo/questions

Reply via email to