Android提升篇系列:Android项目代码优化实践

简介:

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方法约定

复制代码
如
@Override
public 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方法
@Override
public 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元素没有内容应该采用简写形式

如
<item name="desc_tv" type="id"></item>

建议写成
<item name="desc_tv" type="id" />

 

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 statef
private int mState = STATE_ADD;
复制代码

 

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

 

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

 

---------------------------------------------------------------------------------
笔者水平有限,若有错漏,欢迎指正,如果转载以及CV操作,请务必注明出处,谢谢!
分类: Android

本文转自Windstep博客园博客,原文链接:http://www.cnblogs.com/lwbqqyumidi/p/5336707.html,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
缓存 搜索推荐 Android开发
安卓开发中的自定义控件实践
【10月更文挑战第4天】在安卓开发的海洋中,自定义控件是那片璀璨的星辰。它不仅让应用界面设计变得丰富多彩,还提升了用户体验。本文将带你探索自定义控件的核心概念、实现过程以及优化技巧,让你的应用在众多竞争者中脱颖而出。
|
1月前
|
Java Android开发 Swift
安卓与iOS开发对比:平台选择对项目成功的影响
【10月更文挑战第4天】在移动应用开发的世界中,选择合适的平台是至关重要的。本文将深入探讨安卓和iOS两大主流平台的开发环境、用户基础、市场份额和开发成本等方面的差异,并分析这些差异如何影响项目的最终成果。通过比较这两个平台的优势与挑战,开发者可以更好地决定哪个平台更适合他们的项目需求。
112 1
|
1月前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
102 2
|
1月前
|
XML Java 数据库
安卓项目:app注册/登录界面设计
本文介绍了如何设计一个Android应用的注册/登录界面,包括布局文件的创建、登录和注册逻辑的实现,以及运行效果的展示。
147 0
安卓项目:app注册/登录界面设计
|
2月前
|
IDE Android开发 iOS开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
【9月更文挑战第27天】在移动应用开发的世界中,Android和iOS是两个主要的操作系统平台。每个系统都有其独特的开发环境、工具和用户群体。本文将深入探讨这两个平台的关键差异点,并分析这些差异如何影响应用的性能、用户体验和最终的市场表现。通过对比分析,我们将揭示选择正确的开发平台对于确保项目成功的重要作用。
|
17天前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
在 Android 开发中,选择合适的架构模式对于构建中大型项目至关重要。常见的架构模式有 MVVM、MVP、MVI、Clean Architecture 和 Flux/Redux。每种模式都有其优缺点和适用场景,例如 MVVM 适用于复杂 UI 状态和频繁更新,而 Clean Architecture 适合大型项目和多平台开发。选择合适的架构应考虑项目需求、团队熟悉度和可维护性。
45 6
|
27天前
|
前端开发 JavaScript 测试技术
Android适合构建中大型项目的架构模式全面对比
Android适合构建中大型项目的架构模式全面对比
43 2
|
29天前
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
Android远程连接和登录FTPS服务代码(commons.net库)
24 1
|
2月前
|
Java Maven 开发工具
第一个安卓项目 | 中国象棋demo学习
本文是作者关于其第一个安卓项目——中国象棋demo的学习记录,展示了demo的运行结果、爬坑记录以及参考资料,包括解决Android Studio和maven相关问题的方法。
第一个安卓项目 | 中国象棋demo学习
|
12天前
|
前端开发 Android开发 UED
安卓应用开发中的自定义控件实践
【10月更文挑战第35天】在移动应用开发中,自定义控件是提升用户体验、增强界面表现力的重要手段。本文将通过一个安卓自定义控件的创建过程,展示如何从零开始构建一个具有交互功能的自定义视图。我们将探索关键概念和步骤,包括继承View类、处理测量与布局、绘制以及事件处理。最终,我们将实现一个简单的圆形进度条,并分析其性能优化。
下一篇
无影云桌面