Android规范1.1_第1页
Android规范1.1_第2页
Android规范1.1_第3页
Android规范1.1_第4页
Android规范1.1_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、移动开发编程规范Android For QOE广州以大计算机科技有限公司2016年02月10日目录目录21 、阅读对象32 、参考文献33 、引言34 、编程规范34.1 命名规范34.1.1包命名规则-MVP架构44.1.2类命名规则44.1.3变量命名规则54.1.4常量命名规则54.1.5方法命名规则64.1.6组件命名规则64.1.7layout命名规则64.1.8资源文件命名规则74.1.9 id命名规则74.2 注释约定74.2.1 类注释104.2.2变量常量注释104.2.3方法注释104.2.4 Java 注释的三种类型114.2.5 Javadoc的快速浏览114.3异常处

2、理124.4日志处理134.5开发环境版本规范135 、成员函数可见性136 、版本控制131 、阅读对象本文的阅读对象是使用Java作为编程语言的开发人员,主要针对Android开发的一些规则定义。2 、参考文献项目的编码规范遵守Android和Java的编码规范。 建议完整阅读完这些文档,其中包含很多有用信息。3 、引言 编写本规范的目的是为了进一步规范JAVA软件编程风格,提高软件源程序的可读性、可靠性和可重用性,确保在开发成员或开发团队之间的工作可以顺利交接,不必花很大的力气便能理解已编写的代码,以便继续维护和改进以前的工作,提高软件源程序的质量和可维护性,减少软件维护成本。

3、本规范的内容包括:代码布局、注释、命名规则、声名、表达式与语句、类与接口等。 本规范分成规则性和建议性两种:对于规则性规范,要求所有软件开发人员严格执行;对于建议性规范,开发人员可以根据实际情况选择执行。自本规范实施之日起,以后新编写的和修改的代码均应执行本规范。4 、编程规范 没有规范是完美的,也没有规范是适应各种情况的:有时你会发现自己在一个或多个规范都不适用的情况里。 考虑规范的主要指示:当你违背一个规范时,将其注释出来。除了这个规范之外的所有规范都可以违背。如果违背了,你必须说明为什么你要违背这个规范,违背这个规范可能产生的影响,以及规范被应用于这个场合之前可能/必须出现的任何条件。4

4、.1 命名规范我们将在整个规范中讨论命名约定,所以让我们先熟悉几个基本点: 1、使用可以准确说明变量/字段/类的完整的英文描述符 2、采用该领域的术语。3、采用大小写混合,提高名字的可读性。 4、尽量少用缩写,但如果一定要使用,就要谨慎地使用。5、避免使用相似或者仅在大小写上有区别的名字6、避免使用下划线作为名字的首末字母。4.1.1包命名规则-MVP架构工程包名 com.ebig.项目名轻量级:appApplication Activity Fragment Presenter等的顶级父类configAPI,常量表等model数据层entities数据模型presenterMVP的

5、PviewMVP的Vutils工具类集合widget各个可复用View集合重量级:appApplication Activity Fragment Presenter等的顶级父类configAPI,常量表等model数据层 entities数据模型module将界面层以功能模块分配包。launchmainutils工具类集合widget各个可复用View集合4.1.2类命名规则类的一些重要规范基于: 1、可见性2、命名约定 3、注释约定 4、声明约定 5、公共和保护接口当一个类是另一个类的工厂(Factory)时, 应当在类的名称加上“Factory”CustomerFactory当一个类仅仅

6、是对一个接口提供实现时, 应该在接口的名称上加上“Impl”当一个类为一个接口提供适配器时,应当在接口的名称上加上“adapter”类、接口命名以大写字母开头,如果有多个单词,每个单词头字母大写例如:AreaInfo接口命名以Interface结尾,如果有多个单词,每个单词头字母大写例如:AreaInfoInterface接口实现类命名:将实现的接口名称的字母Interface去掉,以"Impl作为结尾",如果有多个单词,每个单词头字母大写。例如:AreaInfoImplJavaBean命名:首字母大写,建议以名词命名。业务逻辑接口命名:业务逻辑接口的命名以功能或模块名称来

7、制定例如:一个日志记录的功能,其对应的业务逻辑接口为LogServiceInterface业务逻辑实现类命名:业务逻辑接口实现类的命名以以功能模块名称来制定例如:一个日志记录的功能,对应的业务逻辑接口实现类名为LogServiceImpl4.1.3变量命名规则变量名首字母必须小写,如果该变量名有多个单词组成,后面的单词首字母大写,单词与单词之间不要使用"_"做连接,变量名访问控制最好为私有, 可以对其增加setter与getter方法。象数组或者矢量这样是集合的字段,命名时应使用复数来表示它们代表多值,不允许出现无意义的单词。4.1.4常量命名规则所有字母大写,如果有多个单

8、词组成,单词与单词之间以” _“隔开。而 且该变量必须是公共、静态、final类型,不允许出现无意义的单词例如:public static final String RESULT_TYPE=”1”;4.1.5方法命名规则首字母必须小写,如果该变量名有多个单词组成,后面的单词首字母 大写,单词与单词之间不要使用"_"做连接。单词建议使用动词,不要使用名词命名。类中常用方法的命名:1. 类的获取方法(一般具有返回值)一般要求在被访问的字段名前加上get,如getFirstName(),getLastName()。一般来说,get前缀方法返回的是单个值,find前缀的方法返回的是

9、列表值。2. 类的设置方法(一般返回类型为void):被访问字段名的前面加上前缀set,如setFirstName(),setLastName().3. 类的布尔型的判断方法一般要求方法名使用单词is或has做前缀,如isPersistent(),isString()。或者使用具有逻辑意义的单词,例如equal 或equals。 4. 类的普通方法一般采用完整的英文描述说明成员方法功能,第一个单词尽可能采用动词,首字母小写,如openFile(),addCount()。5.构造方法应该用递增的方式写。(参数多的写在后面)。4.1.6组件命名规则应采用完整的英文描述符命名组件(接口部件),名字的

10、后缀是组件类型名。这让你容易区分一个组件的目的和它的类型,容易在一个表里找到各个组件(许多可视化的编程环境在一个 Applet 程序或者一个应用程序中提供了一个所有组件的列表。如果所有名字都是类似于 button1, button2, & 这样的话,很容易混淆)。示例:okButtoncustomerListfileMenunewFileMenuItem4.1.7layout命名规则res/layout文件夹命名规范:统一用小写和下划线"_"组合命名,按功能模块命名,如main_acivity.xml4.1.8资源文件命名规则res/drawable文件命名规范:统

11、一用小写加下划线“_”组合命名,每个公共的资源文件最好加个前缀以便区分,如:btn_default.xml,btn_pressed.xml,btn_focus.xml;按功能模块命名,如main_btn_default.xml;4.1.9 id命名规则规约:layout 中所使用的id必须以全部单词小写,单词间以”_”分割,并且使用名词或名词词组,并且要求能够通过id直接理解当前组件要实现的功能。如:某TextView +id/textbookname 错误!应为+id/book_name_show 如:某EditText +id/textbookname 错误!应为+id/book_name

12、_edit4.2 注释约定注释规范是整个开发规范中最为重要的组成部分,必须严格执行。建议使用开发工具eclipse自动配置生成文件头注释在Eclipse中,选择菜单Window->Preferences选择Java->Code Style->Code Templates,点击edit按钮,或者点击Import按钮,选择附带的注释模板文件,按确定。当需要新增加类或接口时,使用菜单File->New->Class,输入相应的信息,并选中对话框最底下的Generate comments,按Finish即可。1、注释应该增加代码的清晰度。 2、避免使用装饰性内容,也就是说

13、,不要使用象广告横幅那样的注释语句。3、保持注释的简洁。 4、先写注释,后写代码。5、注释信息不仅要包括代码的功能,还应给出原因。4.2.1 类注释作用:注释整个类,简单概述该类作用。书写规范:类的注释必须写在该类的声明语法之前。在注释中要描述该类的基本作用,作者,日期,版本,公司名称,版权声明。可以使用html一些标签装饰。格式:/* * * 类功能描述:(大致描述类的功能) * author:编写者名称* * version: 类文件的版本号 从1.0开始(自己确定版本号的增改 * 情况), 修改情况(修改时间、作者、改动情况)* date 2015-12-28*/ 4.2.2变量常量注释

14、作用:简单描述该变量的意义。书写规范:变量注释必须写在变量定义之前,简单描述其代表的意义。格式:/* * 变量功能描述:(大致描述变量的功能)*/例如: /* * 测速类型 */public int resultType;4.2.3方法注释作用:对该方法功能简单描述,其参数、返回值意义的注解。书写规范:方法注释必须写在方法定义之前。该注释包括:方法其功能的简单 描述,方法的参数、返回值类型、返回值意义简单的描述。格式:/* * 方法功能说明 * param args (参数类型可以写在参数后,也可以省 * 略。每个参数占一行) * return 输出参数(多种情况写在同一行) * except

15、ion 异常处理类(方法中能够引发的异常,每 * 个异常占一行) * version: 类方法的版本号 从1.0开始(自己确定版本号的增改 * 情况), 修改情况(修改时间、作者、改动情况)* author:编写者名称*/4.2.4 Java 注释的三种类型Java 有三种注释语句风格:以 /* 开始, */ 结束的文档注释,以 /* 开始,以 */ 结束的C语言风格注释,以及以 / 开始,代码行末尾结束的单行注释。下表是对各类注释语句建议用法的一个概括,也给出了几个例子。注释语句类型用法示例文档注释在接口、类、成员函数和字段声明之前紧靠它们的位置用文档注释进行说明。文档注释由 javadoc

16、 处理,为一个类生成外部注释文档,如下所示。/* *Customer (顾客).顾客是指*作为我们的服务及产品的销售*对象的任何个人或组织。*author xiaodi.zhang*/C 语言风格注释采用 C 语言风格的注释语句将无用的代码注释掉。保留这些代码是因为用户可能改变想法,或者只是想在调试中暂时不执行这些代码。/* 这部分代码已被它前面的代码替代,所以于 1999 年6 月 4 日被 B. Gustafsson 注释掉。如果两年之后仍未用这些代码,将其删除。. . . (源代码)*/单行注释在成员函数内部采用单行注释语句对业务逻辑、代码片段和临时变量声明进行说明。/ 因为让利活动 /

17、 从 1995 年 2 月开始,/ 所以给所有超过 $1000 的/ 发货单 5% 的折扣。强烈反对采用行内注释,即在一行的末尾加上注释。4.2.5 Javadoc的快速浏览Sun 公司的 JDK 中有一个名为 javadoc 的程序。它可以处理 Java 的源代码文件,并且为 Java 程序产生 HTML 文件形式的外部注释文档。Javadoc 生成的文档为其他开发员使用你的程序提供了帮助。 Javadoc 支持一定数目的标记,标识注释文档中各段起始位置的保留字。详情请参考 JDK javadoc 文档。标记用于目的author name类、 接口说明特定某一段程序代码的作者。每一个作者各有

18、一个标记。deprecated类、 成员函数说明该类的应用程序编程接口 (API) 已被废弃,因此应不再使用。exception name description成员函数说明由成员函数发出的异常。一个异常采用一个标记,并要给出异常的完整类名。param name description成员函数用来说明传递给一个成员函数的参数,其中包括参数的类型/类和用法。每个参数各有一个标记。return description成员函数若成员函数有返回值,对该返回值进行说明。应说明返回值的类型/类和可能的用途。since类、成员函数说明自从有 JDK 1.1 以来,该项已存在了多长时间。see ClassNa

19、me类、接口、成员函数、字段在文档中生成指向特定类的超文本链接。可以并且应该采用完全合法的类名。see ClassName#member functionName类、接口、成员函数、字段在文档中生成指向特定成员函数的超文本链接。可以并且应该采用完全合法的类名。version text类、接口说明特定一段代码的版本信息。你注释代码的方式很大地影响着你的工作效率以及所有维护改进代码的后继开发者的工作效率。在软件开发过程中及早注释代码,会促使你在开始撰写代码之前仔细考虑这些代码,从而带来更高的工作效率。而且,当你重新阅读数天前或者数星期前所写的代码时,你可以很容易地判断出当时你是怎么想的,因为这一切都有记录。4.3异常处理各层之间的接口的同步方法调用的错误返回应都通过throw exception的方式实现。若系统中提供的Exception子类符合要求,应优先使用系统的Exception子类,而不应创建自己的Exception

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论