java编码规范

Java编码规约
命名规约
1.代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
正确:user/name/age
不规范: user/user/user u s e r / u s e r / u s e r /user_
2.代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。纯拼音的方式也要尽量避免。
正确: beijing/ qrsx/ youku / qdsoft等通用的名称,可视同英文。
不规范: DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3
3.类名使用 UpperCamelCase 风格,必须遵从驼峰形式。
正确:User,UserService
不规范:user,userService,user_service
4.方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从驼峰形式。
正确:age,userAge
不规范:Age,userage,user_age
5.常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
正确: MAX_STOCK_COUNT
不规范: MAX_COUNT
6.抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类命名以它要测试的类的名称开始,以 Test 结尾。如果使用了设计模式,建议在类名中体现出具体模式,如OrderFactory,CarBuilder等。
7.类中布尔类型的成员变量,都不要加 is;返回值为boolean类型成员方法,以is/has等开始。
正确: boolean disabled、boolean isMemberOf(),boolean hasChildren()
不规范:boolean isDisabled
8.包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用 单数形式,但是类名以单数形式为主,如果有复数含义,类名可以使用复数形式,如Tools,MessageConverters。
9.杜绝完全不规范的缩写,避免望文不知义。
正确:password,telephone, CD,DAO
不规范:pwd,tel
10.Service/DAO命名规约
获取单个对象的方法用get做前缀。
获取多个对象的方法用list做前缀。
获取统计值的方法用count做前缀。
插入的方法用save(推荐)或insert做前缀。
删除的方法用remove(推荐)或delete做前缀。
修改的方法用update做前缀。
格式规约
1、大括号的使用约定:空代码块写成{}即可,不需要换行; 如果是非空代码块则必须换行。
左大括号前不换行。
左大括号后换行。
右大括号前换行。
右大括号后还有else等代码则不换行;表示终止右大括号后必须换行。

2、if/for/while/switch/do 等保留字与左右括号之间都必须加空格。
3、缩进采用 4 个空格,禁止使用 tab 字符。
4、单行字符数限制不超过 120 个,超出需要换行并缩进4个空格
OOP 规约
1、避免通过一个类的对象引用访问此类的静态变量或静态方法,直接用类名来访问即可。
2、当一个类有多个构造方法,或者多个同名方法,应该按顺序放置在一起, 便于阅读。
3、类内方法定义顺序依次是: 公有方法或保护方法 > 私有方法 > getter/setter方法。
4、类成员与方法访问控制从严原则,如果是一个 private 的方法,想删除就可以删除,可是一个 public 的 Service 方法,或者一个 public 的成员变量,能行吗?
如果不允许外部直接通过new来创建对象,那么构造方法必须是private。
工具类不允许有public或default构造方法。
类非static成员变量并且与子类共享,必须是protected。
类非static成员变量并且仅在本类使用,必须是private。
类static成员变量如果仅在本类使用,必须是private。
若是static成员变量,必须考虑是否为final。
类成员方法只供类内部调用,必须是private。
类成员方法只对继承类公开,那么限制为protected。
控制语句
1、在一个 switch 块内,每个 case 都要通过 break/return 等来终止,;3个 switch 块内,都必须包含一个 default 语句并且放在最后,即使它什么代码也没有。
2、在 if/else/for/while/do 语句中必须使用大括号,即使只有一行代码,避免使用 下面的形式:if (condition) statements。
3、尽量少用if-else 的方式;超过三层用switch语句。
注释规约
1、类、类属性、方法的注释必须使用 Javadoc 规范,使用/**内容/格式,不得使用 //xxx 方式。
2、所有的抽象方法(包括接口中的方法)必须要用 Javadoc 注释、除了返回值、参数、 异常说明外,还必须指出该方法做什么事情,实现什么功能。
3、所有的类都必须添加创建者信息。
4、方法内部单行注释,在被注释语句上方另起一行,使用//注释。方法内部多行注释。
使用//注释,要与代码对齐。
5、代码修改的同时,注释要同步修改,尤其是参数、返回值、异常、核心逻辑 的修改。
6、好的命名、代码结构是自解释的,注释力求精简准确、表达到位,避免为注释而注释。
7、删除掉不再有用的代码,而不是通过注释。被删除的代码可在版本库中保存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值