工作项目中的代码规范

1、规范

1.1 命名规范

命名对于开发人员一直是个敏感的问题,好的命名能够阅读更加容易理解,节省阅读的时间。总的命名原则是通俗易懂,让阅读者一眼就能看出该项命名具体的代表什么意思。

1.1.1 包命名规范

个唯一包名的前缀总是全部小写的ASCII字母并且是一个顶级域名,通常是comedugovmilnetorg,或1981ISO3166标准所指定的标识国家的英文双字符代码。包名的后续部分根据不同机构各自内部的命名规范而不尽相同。这类命名规范可能以特定目录名的组成来区分部(department),项目(project),机器(machine),或注册名(loginnames)Uwen的所有android程序包的开头都必须是com.uwen.melo.子项目名,如全城捣蛋项目,则开头为com.uwen.melo.themonkey以下列举在项目中常用的包命名,详细见表1.1

包名

功能

描述

com.uwen.melo.子项目名.activities

activity所在的包

在该包下面,具体到模块则还需要增加模块的命名空间,如用户登录模块的activity对应的包名为

com.uwen.melo.项目名.activities.user

com.uwen.melo.子项目名.adapter

适配器所在的包

项目中所有的适配器都放在该包下面,具体到模块则还需要增加模块的命名空间,如用户登录模块的适配器对应的包名为

com.uwen.melo.子项目名.adapter.user

com.uwen.melo.子项目名.cfg

配置文件所在的包

项目中与配置有关的java文件应该放在此包下

com.uwen.melo.子项目名.common

常量文件所在的包

项目中固定的参数相关的文件都应该放在此包下

com.uwen.melo.子项目名.http

网络请求文件所在包

项目中跟网络请求相关的包应该放在此包中

com.uwen.melo.子项目名.media

多媒体操作所在的包

项目中存在多媒体文件

com.uwen.melo.子项目名.model

实体类所在的包

项目中所有的实体类都放在该包下面,具体到模块则还需要增加模块的命名空间,如用户登录模块的实体类对应的包名为

com.uwen.melo.子项目名.model.user

com.uwen.melo.子项目名.util

工具类所在的包

所有的工具类均放在此包中,同时工具类的命名也需要以Util结尾,如校验的工具类的名字为,ValidateUtil.java,具体的参见类名的命名规范

com.uwen.melo.子项目名.widget

扩展组件所在的包

项目中所有扩展组件相关的文件都应该放在此包下

com.uwen.melo.子项目名.views

Activity中的真正的业务逻辑所在的包

在该包下,还需要划分如下三个功能子包。分别为

creates.impl:具体实现包名

exceptions:异常包名

interfaze:接口包名。

其中creates.impl包下还需要根据具体的模块来进行命名空间的划分,如用户模块则为creates.impl.user

interfaze用于存放业务逻辑中回调函数和相应的接口

1.1主体包命名规范表

1.1.2 类命名规范

类名是个一名词,采用大小写混合的方式,每个单词的首字母大写。尽量使你的类名简洁而富于描述。使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URLHTML).

uwenandroid编码规范中,类命名规范应该遵循功能名+功能类型名的命名规则,表1.2是优问android项目中常见的命名规范说明。


功能类

说明

Activtivity

项目中所有的activity类文件的命名形式为

***Activity,其中***代表的是功能名,如登录模块的activity命名为LoginActivity

适配器类(Adapter)

项目中所有的适配器类文件的命名形式为

***Adapter,其中***代表的是功能名,如用户列表的适配器命名为UserAdapter

常量类(Constant)

项目中所有的常量类文件的命名形式为

***Constant,其中***代表的是功能名,如常用常量的命名为CommonConstant

配置类(Cfg)

项目中所有的配置类文件的命名形式为

***Cfg,其中***代表的是功能名,如服务器列表的配置类文件命名为,ServerListCfg

工具类(Util)

项目中所有的工具类的命名形式为

***Util,其中***代表的是功能名,如验证工具类命名为,ValidateUtil

接口类(Interface)

项目中所有的接口的命名形式为

I***,其中***代表的是功能名,如注册接口的命名为,IRegister

回调函数类(Callback)

项目中所有的回调函数的命名形式为

***Callback,其中***代表的是功能名,如注册功能的回调函数的命名为,RegisterCallback

实体类(Model)

项目中所有的实体类的命名形式为

***VO或者是***Bean,其中***代表的是功能名,如用户信息实体类的命名为,UserVOUserBean

异常类(Exception

项目中所有的异常类的命名形式为

***Exception,如用户信息异常的命名为,UserInfoException

线程类(Thread)

项目中所有的线程类的命名形式为

***Thread,如下载线程的命名为,DownloadThread

异步线程类(AsynTask)

项目中所有异步线程类的命名形式为

***AsynTask,如下载异步线程的命名为,DownloadAsynTask

1.2 优问android项目中常见的命名规范

1.1.3 方法命名规范

方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。如run()runFast()getBackground();

1.1.4变量命名规范


除了变量名外,所有实例,包括类,类常量,均采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。变量名不应以下划线或美元符号开头,尽管这在语法上是允许的。变量名应简短且富于描述。变量名的选用应该易于记忆,即,能够指出其用途。尽量避免单个字符的变量名,除非是一次性的临时变量。临时变量通常被取名为ijkmn,它们一般用于整型;cde,它们一般用于字符型。

1.1.5常量命名规范


类常量和ANSI常量的声明,应该全部大写,单词间用下划线隔开。(尽量避免ANSI常量,容易引起错误)

1.2 注释规范


Java除了可以采用我们常见的注释方式之外,Java语言规范还定义了一种特殊的注释,即Javadoc注释,它是用来记录代码中的API的。注释以/**开头,并以*/结束,注释可以包含一些HTML标记符和专门的关键词。
例如:

/**
*
This isan exampleof
*
Javadoc
*
@authordarchon
*
@version0.1,08/11/2014
*/

每个程序的最开始部分,使用Javadoc注释对程序的总体描述以及版权信息,之后在主程序中为每个类、接口、方法、字段添加Javadoc注释,每个注释的开头部分先用一句话概括该类、接口、方法、字段所完成的功能,这句话应单独占据一行以突出其概括作用,在这句话后面跟更加详细的描述段落。在描述性段落之后还可以跟随一些以Javadoc注释标签开头的特殊段落,例如上面例中的@auther@version,这些段落将在生成文档中以特定方式显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值