一个项目,一套代码里面,就应该只能有一种风格存在,这种风格,在项目框架搭建的时候就应该定下来。
这里的风格,包含以下几个方面:
1、各变量、文件名命名规则;
2、包名、控件id命名规则;
3、开发模式规则(比如MVP模式,但mvp模式有很多种写法,项目组具体用哪种,应该确定下来,而不是多种写法共存。否则维护起来很麻烦)。
一些通用的规则这里就不多说了,主要说说笔者项目中遇到的一些问题引发的思考。
1、包名:除了我们通常所说的只能是小写英文,不能用中文,不用下划线等要求外,还可以要求每个功能模块的首页/入口以home/index的方式进行命名,这样即便不是项目成员,看到该名字,也能知道这里是该功能模块的入口。
activity与其对应的xml布局文件在名字上一定要保持一致,方便与后面查找、索检。如Activity名字为MessageActivity,则对应的xml布局文件名字为activity_message.xml。另外若该activity有Adapter,那么建议adapter的名字也保持一致,如命名为MessageAdapter,对应的xml布局文件命名为adapter_message。这样既方便文件索检,又方便文件归类及功能划分。
另外,activity的布局文件里面头部的tools:context="xxx.xxx.xxxActivity"一定要保留,这有助于我们通过布局文件索检到对应的Activity。
2、控件id命名:强烈建议采用alibaba的Android开发手册推荐的驼峰命名规则,且xml文件里面的id值与Activity或者Fragment等Java文件里面的变量名保持一致,便于快速索检。
最后,现在Android的基础控件已经比较强大了,能够满足大多数开发需求,真的不建议动不动就来个自定义,且不说你自定义能够带来多少出,你确定你自定义的控件没有bug么?运行效率高么?资源占用高不高?很多开发者有这个癖好,动不动,不假思索的来一个自定义,然后就慢慢地调试解决问题,说不定这个自定义的功能早就实现了。比如现在RecyclerView已经全面推开使用了,很多人还在用ListView,然后自定义一下,去处理Wrap属性,去实现水平方向的滑动,这不浪费时间么?
关于这部分,其实比较死板,内容不多,但是要统一起来,还是比较难。所以要引起重视,风格统一了,代码阅读起来也是一种赏心悦目的享受不是?