GPL header, in every file, like this: /** @file relativ/path/with/this/file/name.c * Short description of this file. * @author Author1 * @author Author2 * * Optionaly detailed description of this file * on more lines. */ /* * This file is a part of Geeqie project (http://geeqie.sourceforge.net/). * Copyright (C) 2008 Geeqie team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ -------------------------------------------------------------------------------- svn change-log: Use whole sentences begins with Capital letter. For each modification use new line. Or you can write the theme, colon and then every change on new line, begin with "- ". Example: I done some bugfixes. Library: - I change the interface - added some new functions -------------------------------------------------------------------------------- sources: Indentation: tabs Names of variables & functions: small_letters of defines: CAPITAL_LETTERS Try to use explicit variable and function names. Try not to use macros. Use EITHER "struct foo" OR "foo"; never both Conditions, cycles: if () { ; ... ; } else { ; ... ; } if ( && ; switch () { case 0: ; ; break; case 1: ; break; } for (i = 0; i <= 10; i++) { ; ... ; } Functions: int bar(, , ) { ; ... ; return 0; // i.e. SUCCESS; if error, you must return minus } void bar2(void) { ; ... ; } Pragma: (Indentation 2 spaces) #ifdef ENABLE_NLS # undef _ # define _(String) (String) #endif /* ENABLE_NLS */ Headers: #ifndef _FILENAME_H -------------------------------------------------------------------------------- Use spaces around every operator (except ".", "->", "++" and "--"); unary operator '*' and '&' are missing the space from right; (and also unary '-'). As you can see above, parentheses are closed to inside, i.e. " (blah blah) " In "function()" there are no space before '('. You MAY use more tabs/spaces than you OUGHT TO (according to this CodingStyle), if it makes your code nicer in being verticaly indented. -------------------------------------------------------------------------------- Use glib types when possible (ie. gint and gchar instead of int and char). Use glib functions when possible (ie. g_ascii_isspace() instead of isspace()). Check if used functions are not deprecated. -------------------------------------------------------------------------------- Documentation: use Doxygen