Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: ELO Formula/Table

Author: Dave Gomboc

Date: 22:31:47 10/14/99

Go up one level in this thread


On October 14, 1999 at 14:01:33, Dann Corbit wrote:

>On October 13, 1999 at 20:05:47, Ratko V Tomic wrote:
>
>>I thought so and just moved two functions at the top and the compiler was happy.
>>Generally, I think specifying function arguments & return value at the top of
>>function and in the header as prottype (as required in C++) can only increase
>>the probability of coding error (as does anything that requires keying in two or
>>more times the identical thing) and doesn't help the slightest anything else. If
>>functions are used in other modules then the existence of that function
>>prototype in the header carries some nonzero info useful in program maintance
>>(e.g. you then know if you modify the function you need to visit and see other
>>modules for any side-effects). But when all functions, whether used outside or
>>just within a module, have their protypes in the header, this useful info is
>>lost. You also, in practice, lose backward reference code structure, which is
>>quite helpful if you're looking at other persons code and wish to get a quick
>>idea of the hierarchy of the code. If the code doesn't have extrenious protoypes
>>in the header, then you know that the low level support functions are at the top
>>of the file and higher level logic at the bottom of the file. With headers used
>>to cover the forward references, you lose that kind of hierarchy info (or
>>discipline) as well.
>I am not absolutely sure that I am following you here.  If you want to export
>the functions you must prototype them.  And to be sure that the prototype is
>correct, you must include it in the file that contains the functions.
>
>I do sometimes remove the prototypes from header files and compile.  The reason
>is to get the functions in the proper order.  If each function is defined before
>it is used, this can help the compiler to inline.  But I always put the
>prototypes back when I am done.  I think that reading the file is a terrible way
>to understand the structure.  I use tools like Rational Rose for that, and I
>also flow chart C code with my ancient copy of CCLEAR.  That's right.  I'm one
>of those fossils who still flowcharts.

I'm not sure I can stomach this.  I can see how a naive implementation would
find it easier to perform inlining if routines in a file are ordered from
depended on to depends on, but this shouldn't really matter one iota with
today's compilers. (!?)

Dave



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.