万事开头难,项目开发也一样,特别是像我这种有一定强迫症的人,就特别希望自己写的项目有可读性,可维护性,韧性高,耦合性好等等,好了闲话不多说,开始吧!
可读性:
作为一个项目如果没有可读性,我不知道那是多么可怕的事情,也许了开发一个activity一周后再次看,你都不知道了写的什么鬼,逻辑是什么。这个时候就特别注重规范。
- 名字定义必须统一
英文单词不要随便用缩写,就是要用也要用统一的规范,比如图片缩写ic,textview缩写tv,button缩写btn等等 - 包名定义好,现在比较大的项目一般都采用“功能—模块”
- 通用工具类准备好(指独立于项目单独存在的工具类,这个好像不是属于可读性的这块的。。。)
可维护性
维护性就是好改,我以前遇到一个事情就是,测试叫我改这个东西,改好了,说不要了,换其他了,后来又说不行要该回去,当时郁闷的,所以后来我写程序都非常考虑维护性,添加删除都方便的那种
韧性高
说白点就是没有bug,当然这个是不可能的,没有什么程序是没有bug的,就好像没有人是没有影子的一样。不过这丝毫不影响我们提高程序的韧性,这里推荐一个插件(如果你用android studio 的话)findbugs非常nice。提高韧性简单就是想到所有可能发生的事情然后处理它
耦合性
程序一直追求高内聚低耦合
打个比方activity的跳转,我一般这样写
private static final String KEY = "FirstActivity_value";
public static void startActivity(Context context, String value) {
Intent intent = new Intent(context, FirstActivity.class);
intent.putExtra(KEY, value);
context.startActivity(intent);
}
发现了吗!其它界面跳过来,不用知道传的是什么,这个就是低耦合。
app架构
无论是什么项目,都必须要有一个架构,就比如后端写的MVC模式,当然因为android没有后端开发的大神坐镇,因此没有一款通用的模式,不过现在android比较火的架构就是mvc,mvp,mvvm。在mvp刚出来的时候我就开始研究,主要针对mvc与mvp进行研究,mvvm到没有怎么接触,以后的博客我会详细介绍我对mvc和mvp的理解。
技术可行性
其实这个应该放在最前面,不过这个好像对于我们这些苦逼的程序员没啥用,因为老大叫你写,你就得写,写不出来也得写。
写了这么多感觉,似乎,好像也是一点用都没有。