码迷,mamicode.com
首页 > 移动开发 > 详细

Android Java类编写规范

时间:2015-04-30 12:28:11      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:

本文仅是我个人在实际开发中习惯的编写方式,当然这种方式也是来自很多官方的推荐,所以在一定程度上是可以被模仿套用的。本文将不定期更新~

使用特殊转义序列而不是它的八进制

我们应该用特殊的转移序列,比如:(\b, \t, \n, \f, \r, \”, \’及\),而不是它们对应的八进制,比如:\012

 

大胆使用非ASCII字符

如果我们在实际中需要用到非ASCII字符,我们当然可以去查表得到他们的转义码,但是没有必要。你可以大胆的在代码中这么写,或者加上注释。应为这样很便于阅读。

String unitAbbrev = "μs";

 

import不要使用通配符

不要出现类似这样的import语句:import java.util.*;

 

不要忽略大括号

大括号与if, else, for, do, while语句一起使用,即使只有一条语句(或是空),也应该把大括号写上。

 

什么时候换行

对于非空块和块状结构,大括号遵循Kernighan和Ritchie风格
(Egyptian brackets):

  1. 左大括号前不换行
  2. 左大括号后换行
  3. 右大括号前换行
  4. 如果右大括号是一个语句、函数体或类的终止,则右大括号后换行; 否则不换行。例如,如果右大括号后面是else或逗号,则不换行。
boolean isShow = true;
        if (isShow) {

        } else {
            
        }

 

截断代码换行

如果一行代码太长了,那么可能会需要换行。这时候换行的原则是:在“非赋值运算符”处断开。下面是几个例子:

“+”在下一行

String url = "http://blog.isming.me/2014/10/27/" 
                + "google-java-style/";

“&”在下一行

if (changed == true 
                & show == true) {
            
        }

“."在下一行

     Logger
             .init(YOUR_TAG)               // default PRETTYLOGGER or use just init()
             .setMethodCount(3)            // default 2
             .hideThreadInfo()             // default shown
             .setLogLevel(LogLevel.NONE);  // default LogLevel.FULL

 

变量声明

每次只声明一个变量,不要:int a,b;

推荐下面的方式:

int a;
int b;

 

数组中的中括号

中括号应该是类型的一部分,不要按照C++的方式来写,而且中括号和左边不要有空格。应该像下面这样:

int[] d

 

Switch-case中的default

每个switch语句都包含一个default语句组,即使它什么代码也不包含。

 

Switch-case中的break

如果你的上一个判断和下个判断需要执行的代码是一致的,那么你可以不用break,但必须在原来break的地方加上注释。

switch (input) {
            case 1:
            case 2:
                prepareOneOrTwo();
                // break;
                // fall through
            case 3:
                handleOneTwoOrThree();
                break;
            default:
                handleLargeNumber(input);
        }

 

限定符的顺序

我们的变量或方法可能有多个限定符,比如public,static什么的,那么请按照如下的顺序进行编写。

public protected private abstract static final transient volatile synchronized native strictfp

eg:

public static final String TAG;

 

包名的取法

包名全部小写,连续的单词只是简单地连接起来,不能使用下划线

 

类名

类名通常是名词或名词短语,接口名称有时可能是形容词或形容词短语。

 

方法名

方法名通常是动词或动词短语。

 

异常

一般情况下捕获的异常都是需要打印出log的,但有些异常是我们在已知的,或者在这里出现异常是必然的化,我们可以不加捕获,但需要添加注释。

如果一个捕获的异常被命名为expected,则它可以被不加注释地忽略。下面是一种非常常见的情形,用以确保所测试的方法会抛出一个期望中的异常,
因此在这里就没有必要加注释。

try {
  emptyStack.pop();
  fail();
} catch (NoSuchElementException expected) {
}

 

Javadoc标记

标准的Javadoc标记按以下顺序出现:@param@return@throws@deprecated, 前面这4种标记如果出现,描述都不能为空。
当描述无法在一行中容纳,连续行需要至少再缩进4个空格。

  /**
     * Adds a {@link Fragment} to this activity‘s layout.
     *
     * @param containerViewId The container view to where add the 
     *                        fragment.(换行得有缩进)
     *                        
     * @param fragment        The fragment to be added.
     */

除了第一个段落,每个段落第一个单词前都有标签<p>,并且它和第一个单词间没有空格。

 

Android Java类编写规范

标签:

原文地址:http://www.cnblogs.com/tianzhijiexian/p/4468332.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!