Added docs on how to print PNGs generated by gerbv
[geda-gerbv/spe.git] / HACKING
blob8fbbd2c1e81f2eb30dacd33824e8e320f276b24d
2         CODING STANDARD FOR GERBV
4 $Id$
7 Indentation
8 -----------
9 To hack in this code you need to set emacs (or whatever you use) to
10 4 indentation steps and {} at the right places (see code).
11 Not negotiable.
13 My ~/.emacs are:
14 (defun my-c-mode-hook ()
15   (turn-on-font-lock)
16   (setq c-basic-offset 4))
18 (add-hook 'c-mode-hook 'my-c-mode-hook)
21 Curly Braces
22 ------------
24 if () {
25     blah1();
26     blah2();
27 } else {
28     yada1();
29     yada2();
31 If there is only one statement you don't need the braces.
33 for() {
34     do_whatever1();
35     do_whatever2();
38 switch() {
39 case foo:
40     blah1();
41     break;
42 case bar:
43     blah2();
44     break;
45 default:
46     break;
48 Switch should always have a default case.
51 ChangeLog
52 ---------
53 Minor changes (cosmetic, minor (up to 4,5 lines) not reported bugs) 
54 doesn't need a ChangeLog entry. A ChangeLog entry is needed when a 
55 reported bug is fixed (with bug report number) or when a feature is 
56 added. I (spe) use ChangeLog when writing release notes.
59 Functions
60 ---------
61 The prototype should have return type on the same line as function name:
62 int some_function(int par1, int par2);
64 The function implementation should have return type on a separate line
65 (including eventual pointer star). The function implementation should 
66 have the function name in c-comments
67 at the closing brace.
68 int *
69 some_function(int par1, int par2)
71     /* Implementation */
72 } /* some_function */
74 In a function there should be maximum one empty line in a row.
75 Between functions there should be two empty lines.