GnuCash developper documentation

Conrad Canterford conrad@mail.watersprite.com.au
21 Nov 2002 10:11:25 +1100


On Thu, 2002-11-21 at 07:05, Benoit Gr=E9goire wrote:
> 6-The GnuCash codebase is very scarcely commented.

> Solutions:
> 6-I presume that this comes from a time when Gnucash was developed intens=
ively=20
> by a tight group of people, relying on complete and up to date design=20
> documents.  I know some people consider that the code should speak for it=
self=20
> and comments are a distraction.  But someone coming into a new project ca=
n't=20
> be expected to know every function name, and to such a person, ANY code i=
s=20
> hard to understand without general comments about what a section of code =
or a=20
> non trivial function call is expected to do.   Obviously we can't go back=
 an=20
> comment the entire codebase, but I think this should be remembered by all=
=20
> hackers for new or modified code.

As Benoit figures, 4 years ago when I first became involved in this
project, the core development team had very clearly defined focus for
their areas of speciality. Unfortunately, no-one seemed to consider that
one day a few years in the future, not one of those people is actively
involved in working on (the publicly accessible) Gnucash. Based on this
experience, I would like to suggest that such a complete change can and
probably will happen again.
Although it will make the size of our codebase even larger, I would like
to see *every* change committed to CVS to be clearly documented by
comments in the code. Over time and in a relatively painless way, we
will eventually document the entire codebase. Once this trend gets
established, new people joining the team will automatically follow it.

If we can tie this in with something like DOxygen or whatever, that is
even better.=20

Conrad.
--=20
Conrad Canterford  (conrad@mail.watersprite.com.au)
Water Sprite Pty Ltd   |  url - http://www.watersprite.com.au/
GPO Box 355,           |  - Australian Tour and Event Management (ATEM)
Canberra, ACT 2601     |  - Ticketing Division.
Mobile: +61 402 697054 |  - Catering Services Division.