新手程序猿,在开发中难免会犯各种各样的错误,以下是整理的一些android开发中常见的错误,一起来看看吧。

1.避免将多个类放在一个文件夹里面,除非是一次性使用的内部类。

就是一个文件,最好给分它同名的主类。

2.一个方法的代码长度最好不要超过35行

就是我们这个方法,别把它写的太长,

像是翻了几行的方法,要么拆分成几个方法,把里面很多公用的方法拿出来放在另外一个函数里,要不重构。

3.原则上,尽量不要手工的修改机器产生的代码

比方说,android项目中的R.java类

还有自动生成的类,也不要修改,如果这些类是跟数据结构相关的,改了数据结构,好不容易手动修改一大堆内容,结果现在数据库里面,改了一个字段又要把这个类重新在生成一遍。

4.Final String取代直接“String”,同理int

在用常量的时候,不要直接在Message box在弹出消息的时候,直接去打印“您好,输入错误”。

定义常量的时候,不要打这些值。

5.不推荐在循环语句中,进行直接的return操作

循环语句要让它,正常的循环退出,return是异常的循环退出,非正常情况下的退出。

6.不要用goto语句

7.处处要考虑异常

特别是IO(输入输出流)操作,一定要考虑到它的异常。

下面一定要try-catch,甚至要try好几个catch。

Try

{

}

catch (Exception e)

{

// TODO: handle exception

}

8.仅仅需要对外公布才用public,其余的用private or internal,这样一些成员变量。

9.尽量不要提供public and protected程序员变量,使用属性代替他们

我们对外公布的时候,一般情况下我们不只也用public,一般情况下我们都用get,set的这种方式设置。

这样子也有一些好处,在get和set的时候,还可以针对私有变量,做一些事情。

甚至有的时候,你只给他只读,不给它可写。

10.不要在系统自动生成的函数直接写业务代码,最好自定义函数,然后调用。

在onCreate里面不要这样写。

代码例:

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

int _StudentCount = 5;

return _StudentCount ;

int _StudentCount = 5;

return _StudentCount ;

Toast.makeText(this,this.MESSAGE_WARN,3000).show();

}

而是把它们定义到函数里头,然后放到这里面调用。

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

this.calulateStudetsCount(CLASS_ON) ;

Toast.makeText(this,this.MESSAGE_WARN,3000).show();

}

定义在函数里面。

调用

如果你要进行初始化,也是一样的,在定义一个函数。

private void initDisplay()

{

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

this.calulateStudetsCount(CLASS_ON) ;

initDisplay() ;

Toast.makeText(this,this.MESSAGE_WARN,3000).show();

}

因为这是系统生成的,不要把复杂的逻辑关系,复杂关系放到这里,这些里面尽量做一些组织工作。

11.总是使用接口,推荐使用显示接口实现。

我们都知道这种实现分为显示和隐示两种方式。一般情况下,比如说你有一些业务代码,你还是要把它定义在接口里面。

因为最后你要公布出去的,不要认为接口没用,全部写到类里去。

就自定义的一些代码,比方说:对外要公布什么呢,计算学生数量,你就把它定义在相关的接口里面。把这个方法定义在里面,然后再用这些类来实现接口。

12.在switch语句中总是要有default字句来默认显示信息

 

文章来源:麦子学院

原文链接:http://www.maiziedu.com/wiki/android/error/

android开发中常犯的几个错误整理的更多相关文章

  1. AngularJS 开发中常犯的10个错误

    简介 AngularJS是目前最为活跃的Javascript框架之一,AngularJS的目标之一是简化开发过程,这使得AngularJS非常善于构建小型app原型,但AngularJS对于全功能的客 ...

  2. Web开发人员常犯的10个错误

    说到开发一个运行在现代网络中的网站:Web开发人员需要选择虚拟主机平台和底层数据存储,准备编写HTML.CSS和JavaScript用的工具,要有设计执行方式,以及一些可用的JavaScript库/框 ...

  3. OI中常犯的傻逼错误总结

    OI中常犯的傻逼错误总结 问题 解决方案 文件名出错,包括文件夹,程序文件名,输入输出文件名  复制pdf的名字  没有去掉调试信息  调试时在后面加个显眼的标记  数组开小,超过定义大小,maxn/ ...

  4. Java开发最常犯的10个错误,打死都不要犯!

    原文:http://www.programcreek.com/2014/05/top-10-mistakes-java-developers-make/ 译文:cnblogs.com/chenpi/p ...

  5. AngularJS开发最常犯的10个错误

    简介 AngularJS是目前最为活跃的Javascript框架之一,AngularJS的目标之一是简化开发过程,这使得AngularJS非常善于构建小型app原型,但AngularJS对于全功能的客 ...

  6. 开发中常遇到的linux系统配置操作整理

    一直以来,工作中使用xshell连接linux虚拟机.常常需要在虚拟机中搭建一个新的Linux系统,为了满足操作需要,必不可少的是一系列配置.之前对这些指令都是记录在云笔记,但是零零散散,每次用时,都 ...

  7. Android开发中常用的ListView列表的优化方式ViewHolder

    在Android开发中难免会遇到大量的数据加载到ListView中进行显示, 然后其中最重要的数据传递桥梁Adapter适配器是常用的,随着市场的需 求变化ListView'条目中的内容是越来越多这就 ...

  8. Android学习探索之Java 8 在Android 开发中的应用

    前言: Java 8推出已经将近2年多了,引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时减化了各种设计模式的实现方式,是Java有史以来最重要的更新.但是Android上, ...

  9. android开发中fragment获取context

    在用到fragment时无法使用.this来指定当前context内容,android开发中fragment获取context,可以使用getActivity().getApplicationCont ...

随机推荐

  1. 在CentOS 7上搭建Docker环境

      Preface       We commonly use VMware or VirtualBox to install our Virtual Machines before.For the ...

  2. struts2入门第一天----------一个简单例

    搭建完环境后就可以动手去打代码了.首先创建一个简单的提交表单的jsp页面(html页面也可以), <%@ page language="java" import=" ...

  3. 什么是CPU平均负载

    所属分类:运维教程 平均负载是指上一分钟同时处于就绪状态的平均进程数.在CPU中可以理解为CPU可以并行处理的任务数量,就是CPU个数X核数.如果CPU Load等于CPU个数乘以核数,那么就说CPU ...

  4. 【c学习-10】

    #include #include #define SOURCE 0 //递归函数 /* [基本类型 [整型(int,[长整型(long int), [短整型(short int),长度整型(long ...

  5. SQL优化之语句优化

    昨天与大家分享了SQL优化中的索引优化,今天给大家聊一下,在开发过程中高质量的代码也是会带来优化的 网上关于SQL优化的教程很多,但是比较杂乱.整理了一下,写出来跟大家分享一下,其中有错误和不足的地方 ...

  6. (数据科学学习手札06)Python在数据框操作上的总结(初级篇)

    数据框(Dataframe)作为一种十分标准的数据结构,是数据分析中最常用的数据结构,在Python和R中各有对数据框的不同定义和操作. Python 本文涉及Python数据框,为了更好的视觉效果, ...

  7. P1049 装箱问题

    装箱问题 题目描述 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30,每个物品有一个体积(正整数). 要求n个物品中,任取若干个装入箱内,使 ...

  8. MFC接收ShellExecute多个参数

    在应用程序开发过程中,我们经常需要带参数启动另一个执行程序,如何传递多个参数,如何解析多个参数呢?   传参数 传递参数可使用ShellExecute函数,示例如下: ShellExecute(NUL ...

  9. mybatis-generator自定义注释生成

    最近做的项目发现没有中文注释,故查找资料,特此记录. 本文所用的是基于mybatis-generator 1.3.2版本来完成的. mybatis-generator 自动生成的代码注释是很反人类的, ...

  10. 仿造vue-resource的formdata传对象

    众插件不支持同步,也是没办法的事情,具体为啥就不分析了,确实搞不懂. 一直用vue-resource的post,觉得很舒服. 然,没办法只能仿造一个,自己提供一个同步方法 几个点先摆清楚 1. .th ...