Fennec/NativeUI/CodingStyle: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Java: add single-line braces)
No edit summary
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= Coding Style =
This page has been consolidated into [[Mobile/Fennec/Android#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 [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++;
    }
}
** Always use braces, even for single-line statements. This has been shown to reduce the occurrence of accidental bugs.
* 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.

Latest revision as of 20:49, 12 August 2013

This page has been consolidated into Mobile/Fennec/Android#Coding_Style.