Fennec/NativeUI/CodingStyle: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
(→‎Java: clarify some things)
Line 10: Line 10:
== Java ==
== Java ==


* We use the [http://www.oracle.com/technetwork/java/codeconvtoc-136057.html Java Coding Style].
* We use the [http://www.oracle.com/technetwork/java/codeconvtoc-136057.html Java Coding Style]. Quick summary:
** FirstLetterUpperCase for class names
** camelCase for method and variable names
** One declaration per line
int x, y; // this is BAD!
int a;    // split it over
int b;    // two lines
** Braces should be placed like so (generally opening braces on same line, closing braces on a new line):
public void func(int arg) {
    if (arg != 0) {
        while (arg > 0) {
            arg--;
        }
    } else {
        arg++;
    }
}
 
* Places we differ from the Java coding style:
** Start class variable names with m (e.g. mSomeClassVariable)
** Don't use wilcard imports.
** 4-space indents
** spaces, not tabs
** Don't restrict yourself to 80-character lines. Java code tends to be long horizontally, so use appropriate judgement when wrapping. Avoid deep indents on wrapping. Note that aligning the wrapped part of a line with some previous part of the line (rather than just using a fixed indent) may require shifting the code every time the line changes, resulting in spurious whitespace changes.
* The [http://source.android.com/source/code-style.html Android Coding Style] has some useful guidelines too.
* The [http://source.android.com/source/code-style.html Android Coding Style] has some useful guidelines too.
* Don't use wilcard imports.

Revision as of 14:02, 27 October 2011

Coding Style

XML files (layout, resources, styles, etc)

  • Each child tag should be indented with 4 spaces.
  • The properties should be aligned with the first property of a tag.
  • Each element should have "android:id" first, "style" (if exists) second, and the other properties follow. The root will have "xmlns:android" as first property.
  • A Line break after every tag.

Java

  • We use the Java Coding Style. Quick summary:
    • FirstLetterUpperCase for class names
    • camelCase for method and variable names
    • One declaration per line
int x, y; // this is BAD!
int a;    // split it over
int b;    // two lines
    • Braces should be placed like so (generally opening braces on same line, closing braces on a new line):
public void func(int arg) {
    if (arg != 0) {
        while (arg > 0) {
            arg--;
        }
    } else {
        arg++;
    }
}
  • Places we differ from the Java coding style:
    • Start class variable names with m (e.g. mSomeClassVariable)
    • Don't use wilcard imports.
    • 4-space indents
    • spaces, not tabs
    • Don't restrict yourself to 80-character lines. Java code tends to be long horizontally, so use appropriate judgement when wrapping. Avoid deep indents on wrapping. Note that aligning the wrapped part of a line with some previous part of the line (rather than just using a fixed indent) may require shifting the code every time the line changes, resulting in spurious whitespace changes.
  • The Android Coding Style has some useful guidelines too.