]> git.proxmox.com Git - qemu.git/blobdiff - CODING_STYLE
sun4m: Add FCode ROM for TCX framebuffer
[qemu.git] / CODING_STYLE
index 1ab13b6861250e3fc812d678039ae99ca6b1845e..dcbce28a27cd2a94c2b6133e89dfd0698da080b5 100644 (file)
@@ -1,6 +1,9 @@
-Qemu Coding Style
+QEMU Coding Style
 =================
 
 =================
 
+Please use the script checkpatch.pl in the scripts directory to check
+patches before submitting.
+
 1. Whitespace
 
 Of course, the most important aspect in any coding style is whitespace.
 1. Whitespace
 
 Of course, the most important aspect in any coding style is whitespace.
@@ -10,7 +13,7 @@ of approximately fifteen parsecs.  Many a flamewar have been fought and
 lost on this issue.
 
 QEMU indents are four spaces.  Tabs are never used, except in Makefiles
 lost on this issue.
 
 QEMU indents are four spaces.  Tabs are never used, except in Makefiles
-where they have been irreversibly coded into the syntax by some moron.
+where they have been irreversibly coded into the syntax.
 Spaces of course are superior to tabs because:
 
  - You have just one way to specify whitespace, not two.  Ambiguity breeds
 Spaces of course are superior to tabs because:
 
  - You have just one way to specify whitespace, not two.  Ambiguity breeds
@@ -41,13 +44,14 @@ Rationale:
 3. Naming
 
 Variables are lower_case_with_underscores; easy to type and read.  Structured
 3. Naming
 
 Variables are lower_case_with_underscores; easy to type and read.  Structured
-type names are in CamelCase; harder to type but standing out.  Scalar type
+type names are in CamelCase; harder to type but standing out.  Enum type
+names and function type names should also be in CamelCase.  Scalar type
 names are lower_case_with_underscores_ending_with_a_t, like the POSIX
 uint64_t and family.  Note that this last convention contradicts POSIX
 and is therefore likely to be changed.
 
 names are lower_case_with_underscores_ending_with_a_t, like the POSIX
 uint64_t and family.  Note that this last convention contradicts POSIX
 and is therefore likely to be changed.
 
-Typedefs are used to eliminate the redundant 'struct' keyword.  It is the
-QEMU coding style.
+When wrapping standard library functions, use the prefix qemu_ to alert
+readers that they are seeing a wrapped version; otherwise avoid this prefix.
 
 4. Block structure
 
 
 4. Block structure
 
@@ -65,6 +69,10 @@ keyword.  Example:
         printf("a was something else entirely.\n");
     }
 
         printf("a was something else entirely.\n");
     }
 
+Note that 'else if' is considered a single statement; otherwise a long if/
+else if/else if/.../else sequence would need an indent for every else
+statement.
+
 An exception is the opening brace for a function; for reasons of tradition
 and clarity it comes on a line by itself:
 
 An exception is the opening brace for a function; for reasons of tradition
 and clarity it comes on a line by itself: