Hi,

I guess it's time to set some basic coding guidelines for Freevo. It
will be easier for other people to read the code if we have some basic
guidelines. Most of them are taking from the basic python
guidelines. After some discussion about this, please change files to
this guidelines. E.g. you change a file or fix a bug, please check the
file for the guidelines and fix this, too. The files I touched the
last weeks (image, audio code) respect most of the guidelines now.

 1. All files have a header. I wrote a mail about my new header
    proposal. This header must include: a only line description, a
    longer description what this file does and how it interacts with
    others, a name of a maintainer.
 
 2. More code doc. Each class must have a doc string, explaining the
    purpose of the class. Some for functions, also describing the
    paranmeter and the return values. No exceptions (not even
    eventhandler()). One exception: after a class description, __init__
    only needs paranmeter description.
 
 3. And even more doc: add comments inside the code what you are doing
    here. Some days ago I came across a 'if instance(self.parent, str)'
    and I wondered: how can this be? So more docs. Also document stuff
    like "now we build xy" and "add xy to z". And for 'if foo' in the
    line _after_ the if "now we handle foo by doing bar".
 
 4. Max line width is 80 chars, no more. It should be readable in a
    simple xterm. Indention is 4 chars. If you need a longer line, you
    should think of using a) a helper variable or b) move some code to
    an extra function.
 
 5. All variables/classes except tmp vars have clear names. Use
    file_dir, not fd or d.
 
 6. Config variables and constants are upper case, use an underline
    char to split words for betetr reading. So FOO, FOOBAR or
    FOO_BAR. Config variables also contain the code were they are
    used like AUDIO_MPLAYER_FOO is foo for audio, the mplayer plugin. 
 
 7. Other variables and functions are lowercase. To split words here
    also use _, not a capital letter. E.g.: foo, foobar, foo_bar, not
    Foo, fooBar.
 
 8. Classes start with an uppercase char, followed by lowercase. To
    split words, use a capital letter, no _. E.g. Foo, Foobar or
    FooBar, not Foo_bar or Foo_Bar.
 
 9. Filenames are similar to variables/functions, no upper case
    letters. 

10. Some people like ( x , y ), others prefer (x, y), so do what you
    want here, both is ok.

11. To make code readable, add an empty lines between blocks. Add two
    empty lines between functions.


Comments please!


Dischi

-- 
System going down at 1:45 this afternoon for disk crashing.

Attachment: pgpdjIEX1vgQe.pgp
Description: PGP signature

Reply via email to