tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

coding_style_java.rst (2482B)


      1 =================
      2 Java Coding style
      3 =================
      4 
      5 -  We use the `Java Coding
      6   Style <https://www.oracle.com/technetwork/java/codeconvtoc-136057.html>`__.
      7   Quick summary:
      8 
      9   -  FirstLetterUpperCase for class names.
     10   -  camelCase for method and variable names.
     11   -  One declaration per line:
     12 
     13      .. code-block:: java
     14 
     15         int x, y; // this is BAD!
     16         int a;    // split it over
     17         int b;    // two lines
     18 
     19 -  Braces should be placed like so (generally, opening braces on same
     20   line, closing braces on a new line):
     21 
     22   .. code-block:: java
     23 
     24      public void func(int arg) {
     25          if (arg != 0) {
     26              while (arg > 0) {
     27                  arg--;
     28              }
     29          } else {
     30              arg++;
     31          }
     32      }
     33 
     34 -  Places we differ from the Java coding style:
     35 
     36   -  Start class variable names with 'm' prefix (e.g.
     37      mSomeClassVariable) and static variables with 's' prefix (e.g.
     38      sSomeStaticVariable)
     39   -  ``import`` statements:
     40 
     41      -  Do not use wildcard imports like \`import java.util.*;\`
     42      -  Organize imports by blocks separated by empty line:
     43         org.mozilla.*, android.*, com.*, net.*, org.*, then java.\*
     44         This is basically what Android Studio does by default, except
     45         that we place org.mozilla.\* at the front - please adjust
     46         Settings -> Editor -> Code Style -> Java -> Imports
     47         accordingly.
     48      -  Within each import block, alphabetize import names with
     49         uppercase before lowercase. For example, ``com.example.Foo`` is
     50         before ``com.example.bar``
     51 
     52   -  4-space indents.
     53   -  Spaces, not tabs.
     54   -  Don't restrict yourself to 80-character lines. Google's Android
     55      style guide suggests 100-character lines, which is also the
     56      default setting in Android Studio. Java code tends to be long
     57      horizontally, so use appropriate judgement when wrapping. Avoid
     58      deep indents on wrapping. Note that aligning the wrapped part of a
     59      line, with some previous part of the line (rather than just using
     60      a fixed indent), may require shifting the code every time the line
     61      changes, resulting in spurious whitespace changes.
     62 
     63 -  For additional specifics on Firefox for Android, see the `Coding
     64   Style guide for Firefox on
     65   Android <https://wiki.mozilla.org/Mobile/Fennec/Android#Coding_Style>`__.
     66 -  The `Android Coding
     67   Style <https://source.android.com/source/code-style.html>`__ has some
     68   useful guidelines too.