Android技术规范

原创 2015年07月10日 10:48:03

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中

J2EE技术规范(六)——JTA(核心概念,ACID属性)

理解事务处理的核心概念  什么是事务? 事务是一种机制,把成组的操作视为一个操作进行处理在事务处理中,要么所有的操作都执行,要么所有的操作都不执行在事务中涉及的操作可能依赖于很多不同的数据...
  • yi_zz
  • yi_zz
  • 2012年12月09日 10:11
  • 3290

Bean Validation 技术规范特性概述

http://www.ibm.com/developerworks/cn/java/j-lo-beanvalid/   Bean Validation JSR303 规范(Bean Valida...

Dynamics CRM项目实施技术规范

1 项目设计阶段 1.1 自定义和扩展Dynamics CRM规范 1.1.1 自定义实体的使用 1. 优先考虑使用系统现有实体,为其添加自定义属性; 2. 重新命名现有实体以使实体更具有意义...

J2EE技术规范(九)——JMS (JMS客户端)

上篇博客写了JMS的一些内容,后来觉得那篇博客的内容不够阐述JMS的内容,所以这篇博客就继续完善JMS。 在WebLogic Server 环境中配置JMS WebLogic Server...
  • yi_zz
  • yi_zz
  • 2012年12月16日 19:09
  • 3291

TANBOB--结合ODIN(开放数据索引命名)的AP(数据访问点)技术规范(草案)

TANBOB (Terminal Access Network Based on Blockchain), 一个全新的以数据转移为中心的新一代网络架构,AP(Access Point)协议是TANBO...

Google java编程技术规范

国有国法,帮有帮规。不遵循规范的程序猿,不是好的coder。 学习java有一段时间了,一直想找java编程技术规范来学习一下,幸儿网络资源丰富,各路玩家乐于分享,省去了好多麻烦,姑且算站在网友的肩上...

javaEE的十三个技术规范

java 是一种非常棒的语言,健壮,跨平台运行,屏蔽了具体的平台环境的要求,也就是说只要支持java 虚拟机,就可以运行java程序。   下面,我们一起学习一下J2EE的十三种技术规范。 一、J...

J2EE的13种核心技术规范

J2EE 的13种技术规范

CTP固件升级接口技术规范3.0

CTP固件升级接口技术规范 一.        固件升级需求指引 调研用户,售后,工厂测试得到ctp的固件升级的基本需求如下: 1.    应用或shell命令可以强制下载ctp固件,包括降级的...

【转】JavaEE的13种核心技术规范

转载自 kitesf 最终编辑 kitesf J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android技术规范
举报原因:
原因补充:

(最多只允许输入30个字)