Android代码规范

2017-09-18  本文已影响0人  鲁东_

1.前言

阿里开发手册

2.命名规范

2.1 文件编码
2.2 包名
com.yxzc.community
2.3 变量名
private int mBitmapWidth; 
private int mBitmapHeight; 
private float mDrawableRadius;
private float mBorderRadius;
2.4 资源文件名
2.4.1 contentview 命名
activity_main.xml
2.4.2 Dialog命名:dialog_描述.xml
dialog_username.xml
2.4.3 PopupWindow命名:ppw_描述.xml
ppw_parkinglot.xml
2.4.4 列表项命名:item_描述.xml
item_notification.xml
2.4.5 包含项命名:模块_(位置)描述.xml
activity_main_head.xml
activity_main_bottom.xml
2.5 方法名
init();
getXX();
setXX();
closeXX();
addXX();
deleteXX();
removeXX();

正确格式

private void updateShaderMatrix()

错误格式

 private void setSensorListActivityAllDataInterface()
2.6常量名
public static final String CONTENT = "content";  
public static final String FILES = "FILES";  
public static final String LIKE = "like";  
public static final String REPORT_TYPE = "obj_type";  
public static final String REPORT_ID = "obj_id"; 
public static final String REPORT_REASON = "reason";   
public static final String REPLY = "reply";   

3.注释

3.1 块注释风格
3.2类文件注释
/**
 * 共建详情页面
 * Created by ld on 2017/9/14 0014.
 */

public class TopicDetailedAty extends BaseActivity implements ITopicDetailedView,TopicOpinionAdapter.OnItemClickListener {

3.3方法注释
/**
     * Created by ld on 2017/9/15
     * 获取话题内容
     * @param token     论坛token
     * @param topic     话题ID
     * @param num        评论条数
     * @param listener   回调接口
     */
    @Override
    public void getTopicInfo(String token, int topic, int num,final GetTopicInfoListener listener) {
3.4语句注释
// 播放音频,第二个参数为左声道音量;第三个参数为右声道音量;第四个参数为优先级;第五个参数为循环次数,0不循环,-1循环;第六个参数为速率,速率最低0.5最高为2,1代表正常速度
        soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {

            public void onLoadComplete(SoundPool soundPool, int sampleId,
                                       int status) {
                soundPool.play(sourceid, 2, 2, 0, 0, 1);
            }
        });

4. 特殊字符

4.1空白字符
4.2特殊转义序列
4.3ASCII字符
例如:
String unitAbbrev = "μs"; | 即使没有注释也非常清晰
String unitAbbrev = "\u03bcs"; // "μs" | 允许,但没有理由要这样做
String unitAbbrev = "\u03bcs"; // Greek letter mu, "s" | 允许,但这样做显得笨拙还容易出错
String unitAbbrev = "\u03bcs"; | 很糟,读者根本看不出这是什么
return '\ufeff' + content; // byte order mark | Good,对于非打印字符,使用转义,并在必要时写上注释

5.VALUES的使用

5.1文本字符串
5.2尺寸值、色值

6.格式术语

6.1大括号
return new MyClass() {    
    @Override public void method() {        
        if (condition()) {
            try {
                something();
            } catch (ProblemException e) {
                recover();
            }
        }
    }
};
6.2空结构使用简洁
void getInfo() {}
6.3换行

7.数据结构

7.1 switch语句
上一篇 下一篇

猜你喜欢

热点阅读