"best coding practices" for C 1) No "Umlaute" in your source code! 2) Use English in your source code! 3) Document your source code! a) At least comment the input parameters and return value for each of your functions! b) Explain tricky parts of your code! c) Why, not only what: Explain why the code is doing what it's doing, not only what it is doing! d) leverage documentation generators like Doxygen, ... 4) Compile your code with all compiler warnings turned on! e.g. gcc -Wall -o main main.c 5) Initialize variables with default values when declaring them (whenever it's appropriate)! e.g. double sum = 0.0; 6) Always initialize pointer variables at declaration! e.g. char* s = NULL; 7) Use "include guards", a.k.a. "sentries", in your header files! e.g. if you have a header file named "foo.h" then it should have the following shape: #ifndef FOO_H #define FOO_H ... actual content ... #endif 8) Unless inevitable, do not use global variables! 9) If a global variable only needs to be accessible from the file (compilation unit) it is defined in, give it internal linkage by using the "static" keyword.