代码的优化组织方式
规则一:交互界面、业务资源和数据、处理部分API 要尽可能分离
1、也就是说拿到一个问题之后,首先进行 业务资源和数据 的分析,将这两部分独立出来,做成单独的类
2、在程序中的 交互界面 和 其他的处理部分API 需要使用资源和数据的时候,就调用上面的资源或者数据类就行
3、也就是说在整个项目中这三大块一定要尽可能的分离
4、这也是整个Android开发流程中的经典模式
规则二 : 复杂问题流程图化
1、简单的问题不用流程图没有什么关系,但是如果一个问题的解决过程中的各个部分之间(不同的类之间、处理部分和各种资源数据之间 等)关系很复杂,那么单纯的靠记忆是很容易乱的
2、这时就要借助于流程图,将每个步骤要干什么,要调用那些资源,要查找那些数据 等, 转化为流程图的方式
3、在编译原理中处处都体现出了这种思想,最终会发现按照流程图去写程序,会非常的清楚和简单,
如:编译中的词法分析流程图(最终生成Token序列)

4、你可能会说,现在是面向对象的设计方法了,流程图好像是对应着面向过程的设计方法,这就大错特错,对于一个项目我们应该按步骤的从多个层面一步一步的分析
对象的抽取和分析——>逻辑分析
第一步先将项目中的对象划分和抽取完毕,之后就要进行各个对象之间的逻辑分析,在逻辑分析阶段就要使用流程图的方式进行描画
规则三 :监听器的设置原则
1、如果监听器要实现的逻辑非常的简单,那么我们使用匿名内部类的方式就行了
2、如果一个监听器要实现的逻辑非常的复杂,那么使用匿名内部类的方式,就只能够将所有的业务处理都放在那个需要重写的处理器方法中(如ActionListener的public void actionPerformed()方法),这就使得处理器中的代码过于臃肿;这种情况下,我们应该创建一个实现了ActionListener抽象类的子类,这样的话,我们就能够在这个子类中添加一些其他的方法,或者内部变量,这样的话,在public void actionPerformed()中就能够调用这些方法或者内部变量,使得代码跟更加的有条理, actionPerformed()方法就不会太臃肿
3、与此同时,将项目中的大部分负责监听的类都统一放在一个名为listener的包下,也是一种非常好的代码组织方式
规则四 : 基本功能分离化
文件的读取、图片的读取、图片的处理, 等这些基本的功能在每个项目中基本都会用到,可以将这些使用的基本功能分别封装成类,各自放在一个文件中,之后将这些文件统一的放在一个名字为util的包中,这样的话,使程序更加清晰
规则五:多个参数的传递规则
1、有的时候我们需要为一个方法传入一系列的信息,之前我们往往是直接将这些变量传进去,但是这样的话就会特别的没有条理,非常的分散,所以,如果要出入的信息不只有一个,就将这些信息封装成一个类,创建一个这个信息类的对象,赋值之后,将这个对象传过去。这样的话,不仅能够将分散的参数统一的传递下去,而且这个类还能够有自己的用于管理这些参数信息的方法,是不是非常的有条理
优化前 : ................................ dealEvent(variable a , variable b , variable c) ; ................................ 优化后: class SendParameter{ variable_type a ; variable_type b ; variable_type c ;
//可以加入一些方法 }
............................... parameter = new SendParameter(.........) ; dealEvent(parameter) ; ...............................
2、在一个项目中这样的地方非常的多,那么我们就可以专门用一个名为parameter的包来统一存储那些封装多个参数信息的类

浙公网安备 33010602011771号