Android技术规范

来源:互联网 发布:网络与新媒体专业美国 编辑:程序博客网 时间:2024/04/28 10:48

Android技术规范
命名相关:
android代码编写几个约定:
1,代码注释必须使用英文

命名相关:
1、layout命名: 模块前缀(有或无)_逻辑名称+对应实现的组件命
示例:
登录页面 (独立模块,直接命名即可 使用activity实现 ) login_activity.xml
资讯模块的资讯详情页面(使用frament实现) news_detail_frament.xml
2、xml中id命名:统一用小写字母,控件缩写 + (模块/Activity名缩写) + 逻辑名称
常见控件缩写
LinearLayout ll
RelativeLayout rl
FrameLayout fl
TextView tv
ImageView iv
Button btn
ImageButton ib

比如:MainActivity中的登录按钮 btn_main_login
3、drawable资源命名 : 前缀_资源名
背景 : bg_
图片:ic_
4、字符串命名:模块名(有或无)_功能名
设置
加载更多
5、方法和变量的命名规则,推荐使用驼峰的写法,细节部分随Android主流即可
驼峰法的意思是:除第一个单词之外,其他单词首字母大写。
譬如int myStudentCount;

6、java包名的规范,前缀最好统一一下,
例如com.lvdian
com.lvdian.activty
com.lvdian.adapter
com.lvdian.model (放实体类)
com.lvdian.frament
com.lvdian.view(存放自定义View)
com.lvdian.utils
com.lvdian.net
com.lvdian.config(存放常量类,Url, sharepreference等 )
com.lvdian.db(数据库)
com.lvdian.manager(各个模块的管理类)
com.lvdian.service

代码编写几个原则:
1、文件、公共方法、重要产品逻辑,一定要有注释。
文件注释中包含author date
迭代/debug阶段,涉及大的修改时,尽量写上modify/delete/add by xxx, time (modify by wen, 2015-12-1
2、代码对齐规则,以android studio默认设置里的代码自动对齐为准。任何人提交代码之前都需要自动对齐
3、原则上,在写代码之前,是要经过讨论的
4、鼓励使用匿名类简化代码,提高可读性。除非匿名类要做的功能很复杂,代码量大
5、鼓励使用final,提高可读性
6、鼓励使用java的注解Annotation,注释部分可以用Annotation搞定,然后往里填肉
7、涉及到修改变量名、类名、方法名,总是使用 android studio 的refactor–rename功能
8、所有未处理的catch语句块里,必须写log
9、所有涉及到多线程的代码,必须要team一起审核,禁止某人随意写多线程代码,否则会出现跨线程刷ui的情况
10、所有涉及到加锁解锁的代码,必须要team一起审核,优先从思路上做到不需要锁机制
11、使用任何第三方代码,必须要team一起审核,禁止某人直接提交第三方代码
12、优先保证技术功能的自然逻辑的实现,不要为了封装而封装,慎用各种设计模式
13、只要是不变的,必须用常量,尤其是项目整体的config这里
14、强制使用android studio作为ide,除非涉及到ndk
15、自己的代码优先用java,需要用ndk时,必须要team审核

android代码编写几个约定:

1、字符串文案统一放到strings.xml中,尽量不要写在代码和layout中,便于代码维护。
2、titlebar、actionbar这种几乎每个页面都有的模块,尽量放在Base类中。
3、编写逻辑代码时,先评估下是否有将某部分逻辑独立出来的必要。比如在写Adapter时,getView返回多种类型的item view,如果有item项的逻辑比较负责,可以考虑将其独立成一个类。再通过暴露接口(bindView)的方式,绑定数据。避免文件过大。
4、使用网络时,需要注意一点: 在activity destroy,或者不再需要网络结果的回调时,需要cancel掉已发出去的网络连接。一般网络框架都会提供cancel的接口。
5、在写布局时,删除没必要的background,避免过度绘制。
6、新开项目时,图片缓存框架建议换成Picasso. 它在adapter view复用时,会自动回收和取消当前的下载。如果用其他框架,自己处理会比较麻烦。
7、不在主线程处理耗时操作。
8、必要时,定义常量。比如json字段定义、intent的action、extra字段等。
9、将能复用的控件属性封装到styles中

0 0
原创粉丝点击