本文档编写的目的就是通过建立编码规范,使每个开发人员养成良好的编码风格和习惯;并以此形成开发团队编码约定,提高程序的可靠性,可读性,可修改性,可维护性和一致性等,增进团队间的交流,并保证在程序质量。
1.介绍
编码规范对于程序员而言尤为重要,有以下几个原因:
- 一个软件的生命周期中,80%的花费在于维护;
- 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护;
- 编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码以及自己之前的代码;
- 如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品。
2.命名规范
2.1.项目命名规范
项目名全采用小写字母。
示例:
onlinexam
workdesk
2.2.包命名规范
包名全采用小写字母,每个包名称之间用“.”分隔开来。包名应该唯一,它的前缀必须是顶级域名,目前包括com、 edu、 gov、 mil、 net、 org。包名接下来的部分是公司名、项目名、模块名,然后是模块细分的包名。
格式:
顶级域名.公司名.项目名.模块名.xxx.xxx
示例:
com.hpe.onlinexam.dao.admin
com.hpe.onlinexam.po
2.3.类和接口命名规范
类名和接口名应该是名词,并采用大驼峰式命名法。尽量保证类名和接口名简单并且描述性强。避免使用只取单词首字母的简写或者单词的缩写形式,除非缩写形式比单词的完整形式更常用(例如:URL或者HTML)。
示例:
class LogManager
class HTMLManager
interface PolicyOverview
interface PolicyOverviewSessionHome
相关的类如果使用了某些已经约定的开发模式,应该使用相关约定的命名。
示例:
interface UserService
interface UserDAO
interface UserMapper
class UserServiceImpl
2.4.方法命名规范
方法名应该为动词,并采用小驼峰命名法,一般采用动词或动宾结构。此规范不适用于构造方法。
示例:
int read();
int addNewOrder();
Student findStudentById(int id);
方法中,存取属性的方法采用setter和getter方法。
示例:
public String getType();
public boolean isFinished();
public void setVisible(boolean visible);
public void addKeyListener(Listener listender);
2.5.变量命名规范
变量名应尽可能的短小,但要有意义,并采用小驼峰命名法。变量名应该便于记忆,也就是说变量名应该尽可能的做到见名知意。除了暂时使用的变量外(一般用于循环变量),应该避免使用只有一个字母的变量名。对于临时变量一般说来:i、j、k、m、n代表整型变量,c、d、e代表字符型变量。集合和数组型变量,要用复数形式。建议变量名中不要出现下划线、$符和数字。
示例:
String customerName;
String orderNumber;
List<Student> students;
for(int i; i < 10; i++)
类中的成员变量可以和公有方法参数相同,不能和局部变量相同,引用非静态成员变量时使用 this 引用&