博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android提升篇系列:Android项目代码优化实践
阅读量:7221 次
发布时间:2019-06-29

本文共 2601 字,大约阅读时间需要 8 分钟。

Android开发中,不同的开发团队,不同的开发人员,在实际编码中会有一些不同的地方。

但是,具有一定的更普适性的编码习惯,无疑还是相当重要的。本文主要罗列项目中常见的一些编码片段,并给出相关建议。

1.数组标识符应该紧跟在数组类型后面,而非变量后面

如int data[] = new int[1024];建议写成int[] data = new int[1024];

 

2.if中的条件判断在特定情况下需要合并

如if(lastestTime > recordTime){    if(isLogin()){        //...    }}建议写成if(lastestTime > recordTime && isLogin()){    //...}

 

3.if语句块在特定情况下可以简写

如if(isExistAccount()){    return true;} else{    return false;}建议写成return isExistAccount();

 

4.布尔型变量没必要再和true或false进行比较

如int status = hasSubcribe == true ? 1 : 0;建议写成int status = hasSubcribe ? 1 : 0;

 

5.inteface中方法没有必要使用public修饰,常量没有必要使用public static修饰

如public interface HostCallBack(){    public static int MODE_INSERT = 1;    public static int MODE_ALL =2;    public void clear();}建议写成public interface HostCallBack(){    int MODE_INSERT = 1;    int MODE_ALL =2;    void clear();}

 

6.重写equals方法需要遵守重写hashCode方法约定

如@Overridepublic boolean equals(Object o) {    if (this == o) return true;    if (o == null || getClass() != o.getClass()) return false;    AccountVo accountVo = (AccountVo) o;    if (id != accountVo.id) return false;    return name.equals(accountVo.name);}建议增加上重写hashCode方法@Overridepublic int hashCode() {    int result = (int) (id ^ (id >>> 32));    result = 31 * result + name.hashCode();    return result;}

 

7.catch中不要再对Exception类型做判断

如try{  //...}catch(Exception e){  if(e instanceOf IOException){    //...  } else{   //...   }}建议写成try{   //... }catch(IOException e){   //...}catch(Exception e){  //...}

 

8.方法体不宜太长,可以根据具体情况适当将方法体内部部分逻辑拆解出来

如public void fixRecord(int rid, String name){    //...   //方法体太长....     //...}建议写成 public void fixRecord(int rid, String name){    //...    updateRecord(int rid);     //...}private void updateRecord(int rid){   //...}

 

9.xml元素没有内容应该采用简写形式

建议写成

 

10.switch语句块需要加上break

如switch (retCode){    case 3        // ...        break;    case 1:        // ...        break;    case 2:        // ...        break;}建议写成switch (retCode){    case 3        // ...        break;    case 1:        // ...        break;    case 2:        // ...        break;    default:        // ...        break;}

 

11.变量名含义须具有唯一性

如:String password = AppAccountManager.getCurrentPassword();password = EncryptUtil.decrypt(password);建议写成String password = AppAccountManager.getCurrentPassword();String decryptPassword = EncryptUtil.decrypt(password);

 

12.无效的import需要删除

如果没有用到需要删除干净

 

13.注释不要与代码放在同一行

如:private int mState = STATE_ADD;  // add record statef建议写成// add record statefprivate int mState = STATE_ADD;

 

14.不要犯单词拼写错误

项目中发现不少英文单词拼写错误,其实,AS默认情况下对疑似拼写错误的单词都会有波浪线等提示。

 

总之,在编码过程中,一些推荐的更标准的写法或风格总是没有错的,并且,一定的代码洁癖等也是一种很好的编码态度和习惯。

 

转载地址:http://hchym.baihongyu.com/

你可能感兴趣的文章
Hyper-V——snapshot虚拟机快照
查看>>
Android实现弹出Toast提示
查看>>
Ubuntu12.04平台安装cacti全过程(二)
查看>>
存储过程的具体操作
查看>>
CentOS7修改网卡名称
查看>>
C++拓展笔记1-3:浅析C++关键字const的几个作用
查看>>
免费的编程中文书籍索引
查看>>
Linux DNS服务实验报告
查看>>
浅析python 中__name__ = '__main__' 的作用
查看>>
使用scp在windows和Linux之间互传文件
查看>>
linux memcached 安装
查看>>
Struts ActionContext和ServletActionContext小结
查看>>
零售电商架构解决方案
查看>>
CentOS 5.5编译升级2.6.35.13内核完整笔记
查看>>
安全:一个很逗逼的想法
查看>>
Java分布式消息中间件 Metamorphosis
查看>>
导入开源云存储ownCloud
查看>>
NO.137 2014年GNOME.Asia峰会开始报名啦!
查看>>
Python爬虫实战(4):豆瓣小组话题数据采集—动态网页
查看>>
从自身出发去编程
查看>>