背景 随着事情越来越多,我们必须提高我们的工作效率,才能有更多的时间去深入学习更多的知识。下面我将会把我在Android项目中运用到的一些提高开发效率的经验分享出来,如果你有更好的建议,恳请指导。
一、定义apk文件的输出路径 我使用的是Android Studio写Android程序,以往我们编译.apk文件后,系统会默认把该文件放在app/build/outputs/apk目录下,我们需要层层打开目录才能找到该.apk,显然这是比较耗时的。其实我们可以在app下的build.gradle里定义我们apk的名称与输出路径:
def fileName = “sample_${defaultConfig.versionName}_${defaultConfig.versionCode}.apk"def outputPathName = "/Users/yourname/Desktop/apk/${fileName}";路径:在android/buildTypes/release下面的实现
applicationVariants.all { variant -> variant.outputs.each { output -> output.outputFile = new File(outputPathName) }}我把该路径定义在桌面的apk文件夹里,这样非常方便我们对其进行做一些操作或发布。
二、使用git的分支特性来开发新功能 对git比较熟悉的估计看到上面这标题已经懂我要说什么。但还是希望讲给没有使用过的朋友听,打比方说,过去我们已经开发了ReleaseA版本,里面的列表显示都是使用ListView实现,现在我们想要在上面尝试使用RecycleView实现,我们可能会在原来代码上面改,或者拷贝一份代码出来改然后再merge回去,这样的操作显然效率很低,如果我们使用git branch来操作会变得非常简单。
三、多造轮子,免去不必要的开发成本 比如分享功能、支付功能、一些常用的UI组件,甚至一些通用的strings.xml/colors.xml/drawable资源,我们都可以将其集成为lib供各个项目使用,有人说这影响了代码的灵活性,但是java的继承、抽象、接口等特性,足以应付这些灵活性。需要注意的是记得在必要的类里定义TAG,并输出一些关键信息的log,以方便后期调试。
四、接口规范 之前接触过一个项目,服务端返回的json串十分不规范,JsonObject与JsonArray傻傻没有区分,导致客户端这边开发十分困难,参考《品讯返回的不规范数据总结》。所以如果你是项目负责人,请严格监管好这些规范,以提高开发的效率。 并且接口文档也应该规范书写,不太建议使用Word/Excel书写,网上有许多做得很不错的在线接口文档管理系统,如果担心泄密,可将开源的接口文档管理系统部署在私服,公司使用的是“小幺鸡”,极大地提高了我们的工作效率。
五、使用maven管理通用代码 由于公司的特殊性,我们需要做大量的项目,而项目中很大一部分代码都是可以通用的,比如util、view、manager,还有一些第三方组件,如果要在每个项目里都重复拷贝一份通用的代码,那是很笨的方法。建议使用maven去管理这些通用代码,并做好版本兼容管理。公司目前是公司的服务器上部署maven,管理起来非常方便,又不担心泄密。
六、尽量减少重复的代码 第三条经验是针对项目与项目级别的,而这里想说的是代码级别的。代码中可多写BaseActivity、BaseListActivity、BaseFragment这样的父类,好处相信很多人都理解。另外layout资源可以通过include重复利用layout,style里面也可以通过parent实现继承。
七、多写注释 随着项目增加,很多时候回去看过去的代码会忘记某个类或方法是实现什么功能的,或者要注意点什么,但这些在你实现它们的时候是清楚的,所以建议在实现的时候就把这些注释写好,一来方便以后查看,二来也方便后来的人查看。
八、使用别人的轮子 记得刚开发Android的时候,整个网络框架都是自己写的,然后缓存、多线程的问题愣是没有解决好,直到遇到了Google官方的Volley才将所有问题解决。网上还有一些评价非常高的轮子,比如okHttp、LiteOrm、Gson等等,都能极大提高你的工作效率,但是还是建议多选择官方的组件、多选择代码开源组件,免得掉坑。
新闻热点
疑难解答