安卓编码规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安卓编码开发文档
作者:
完成日期:
签收人:
签收日期:
版本历史
目录
目录 (3)
1 概述 (4)
1.1 编写目的 (4)
1.2 预期读者 (4)
1.3 适用范围 (4)
2 命名规范 (4)
2.1 基础规范 (4)
2.2 包(package) (4)
2.3 类(class) (5)
2.4 接口(interface) (5)
2.5 方法(methods) (5)
2.6 变量(variables) (5)
2.7 常量(Constants) (5)
2.8 资源文件(Resource) (5)
2.9 布局ID (6)
3 格式规范 (6)
4 注释规范 (7)
5 文件规范 (7)
1 概述
1.1 编写目的
本文描述安卓开发过程中有关包、类、接口、方法、变量、常量、资源等命名方式,以及编码格式、注释格式等规则,用于指导部门内的日常开发。
1.2 预期读者
智慧应用部所有成员。
1.3 适用范围
部门内所有安卓产品的开发任务。
2 命名规范
2.1 基础规范
1、基础原则为命名要足够长以便能表达其含义,并且要足够短以便防止冗长。
2、不使用拼音。
英文单词尽量不擅自缩写,除非缩写是约定俗成的,比如html、url等。
如果单词过长,可适当缩写,但要保留单词原意。
3、不使用难懂的名称,比如xxk8等
4、正规的组织名称因使用其官方全称或简称。
比如福建农信应使用fjrcu而不是fjnx,天诚应该使用techshino而不是tc。
2.2 包(package)
包名全部小写,连续的单词只是简单的连起来,不使用下划线,采用反域名规则。
一般包名采用4级:一级为com;二级为centerm;三级为应用程序名,比如keypad,或者为通用名,比如common;四级为模块名,比如activity,bean,service等。
2.3 类(class)
类名一般为英文名词连接,采用大驼峰命名法。
每个单词首字母为大写,比如KeypadActivity。
如果是继承类,应该以父类名为结尾,比如XxxActivty,或者XxxService,或者XxxBroadcast。
如果是作为基类,建议以Base或Common开头命名,如BaseActivity或CommonActivtiy。
2.4 接口(interface)
与类命名规范类似,采用大驼峰命名法,并以I开头,如IUpdateCallback
2.5 方法(methods)
方法名一般为动词或者动名词连接,采用小驼峰命名法。
首单词首字母为小写,后续单词首字母为大写。
如saveBitmap,getName等。
2.6 变量(variables)
采用小驼峰命名法。
一般为变量类型缩写+变量简单涵义+量词。
类型缩写常见的有:
1、Integer类型:i或者n,如iPage或nPage;
2、String类型:str,比如strName;
3、BOOL类型:b,比如bEnd;
4、Button类型:btn,比如btnOK;
5、(。
欢迎补充)
量词应该放置在尾部,比如上一页和下一页应该表述为btnPagePrev和btnPageNext,而不是btnPrevPage和btnNextPage;
2.7 常量(Constants)
全部为大写,一般由名词和下划线组成,如MAX_PAGE。
2.8 资源文件(Resource)
全部为小写,一般由名词和下划线组成。
资源因尽量描述清楚其所对应的用途,具体要求如下:
1、作为xml资源,命名为:客户描述+组件描述+(业务描述+功能描述)。
如ccb_btn_numpad_confirm.xml或者ccb_activity_numpad.xml。
2、作为图片和音频资源,命名为:客户描述+(业务描述+功能描述)。
如ccb_numpad_logo.png或者ccb_numpad_welcome.mp3。
3、作为value资源,命名为:客户描述+业务描述+值描述。
如<string name="ccb_keypad_clear">清空</string>。
4、(。
欢迎补充)
2.9 布局ID
xml布局内控件id命名采用小驼峰命名法,一般为组件缩写+组件描述。
常见缩写有:
1、Button:btn。
如btnConfirm。
2、ImageView:iv。
如ivLogo。
3、TextView:tv。
如tvName。
4、LayoutView:lv。
如lvContent。
5、CheckBox:chk。
如chkAnswerFirst。
6、RadioButton:rdoBtn。
如rdoBtnAnswerFirst。
7、(。
欢迎补充)
3 格式规范
1、变量、常量定义
A)、类和方法中的常变量必须写在类定义和方法定义的首部,其中静态
常量和全局变量必须写在类定义的最首部。
B)、类和方法中按先常量后变量的顺序进行定义
C)、变量定义可按模块进行区域分类,如控件变量、相关功能变量
2、大括号:
A)、if语句的大括号对不可省略
B)、大括号对写法采用java较为普遍的尾部法。
即左括号在其父语句末
尾。
3、空格
A)、判断语句与括号之间需要有空格。
如:if、else、while、switch等
B)、双目算符与变量之间需要有空格。
如=、==、+、<、>等
C)、分隔符与其右侧语句之间需要有空格。
如; 、, 等
D)、(。
欢迎补充)
4、缩进
子语句与父语句之间采用一个制表符(TAB键,通常是4个字符宽度)进行缩进。
5、换行
A)、定义一个变量后需要换行。
B)、变量赋值后需要换行。
C)、一行最好不要超过80个字符,若语句太长,可在分隔符或运算符或括号处进行换行。
D)、新的一行开头应该与上一行同级别表达式开头处对齐,如:
var = function(int argc1,
int argc2, int argc3);
D)、算数表达式处的换行尽可能选取高级别断开,如:
var = argc1 * (argc2 + argc3 + argc4) * argc5 +
argc6;
而不是:
var = argc1 * (argc2 + argc3 +
argc4) * argc5 + argc6;
E)、如果换行多了显得右侧较为臃肿,可适当将换行语句向前缩进2至3个单位。
F)、(。
欢迎补充)
4 注释规范
注释整体要求内容简明扼要,条理清晰,可以通过注释大致了解代码功能。
具体要求如下:
A)、块注释。
在类文件首部,或者方法顶部需要添加块注释。
类文件注释一般包括功能简述、特殊注意事项等;方法注释应该包括方法功能描述、参数描述、返回值描述。
块注释使用多行注释表示,如下:
/*
* 方法功能说明
* 参数说明
* 返回值说明
*/
B)、行注释
使用//进行表示,一般出现在语句上方或尾部。
如果注释过长,则适当修改为位于上方的块注释。
C)、作为非外企,注释不要求必须写英文,使用中文描述清晰即可。
如使用英文注释,因确保语法用词准确。
D)、(。
欢迎补充)
5 文件规范
A)、资源文件中,图片文件必须为.9图。
非activity的xml布局文件统一放
置在res/drawable中。
具体的图片文件按屏幕分辨率放置在res/drawable-xxx 中,要求如下:
drawable-ldpi:240 x 320
drawable-mdpi:320 x 480
drawable-hdpi:400 x 800
drawable-xhdpi:960 x 720
drawable-xxhdpi:1280 x 720
B)、不要把大的语音文件或视频文件放在工程中
C)、(。
欢迎补充)。