没有合适的资源?快使用搜索试试~ 我知道了~
在编程过程中一定要注意代码命名的规范性,否则在使用和维护过程中将造成很大的麻烦,这也是一种良好的编码习惯。大家不妨再各种命名的 时候,多下些功夫,尤其向我这种英语很娄的人, 这样别人再看的时候,就很好理解, 不然就会 浪费跟多不必要的时间。
资源推荐
资源详情
资源评论
JAVA编程规范
公司要求的
1. 【强制】类、类属性、类方法的注释必须使用 Javadoc 规范,使用"/** Content */"格式,不得使用"// Content"方式。
/**
*
* @param
* @return
* @exception
* @author
* @version
* Copyright 2020 Beijing Uxsino Software Co., Ltd./Branch Of Xi'an
* All right reserved.
* @date 2020/x/x 3:22
*/
说明:在 IDE 编辑窗口中,Javadoc 方式会提示相关注释,生成 Javadoc 可以正确输出相应注释;在 IDE中,工程调用方法时,不进入方法
即可悬浮提示方法、参数、返回值的意义,提高阅读效率。
2. 【强制】所有的抽象方法(包括接口中的方法)必须要用 Javadoc 注释、除了返回值、参数、异常说明外,还必须指出该方法做什么事
情,实现什么功能。 说明:对子类的实现要求,或者调用注意事项,请一并说明。
3. 【强制】所有的类都必须添加创建者和创建日期。 说明:在设置模板时,注意 IDEA 的@author 为`${USER}`,而 eclipse 的@author 为
`${user}`,大小写有区别,而日期的设置统一为 yyyy/MM/dd 的格式。 正例:
/**
* @author yangguanbao
* @date 2020/x/x 3:22
*/
4. 【强制】方法内部单行注释,在被注释语句上方另起一行,使用//注释。方法内部多行注释使用/* */注释,注意与代码对齐。
// 方法内部的单行注释,在被注释语句上方另起一行,使用//注释int a = 3;
/**
* "/** */"
* */int b = 4;
5. 【强制】问题单修改注视
/* BEGIN: Added by user1 for #12345, 2020/1/1 reviewer: user2 // END:
Added by user1 for #12345, 2020/1/1 reviewer: user2 */
6. 【强制】所有的枚举类型字段必须要有注释,说明每个数据项的用途。
public enum TestEnum {
/**
* agree
*/
agree("agree"),
/*
* reject
*/
reject("reject");
private String action;
TestEnum(String action)
{this.action = action;}
public String getAction()
{ return action;}}
7. 【推荐】与其"半吊子"英文来注释,不如用中文注释把问题说清楚。专有名词与关键字保持英文原文即可。 反例:"TCP 连接超时"解释成"
传输控制协议连接超时",理解反而费脑筋。
8. 【推荐】代码修改的同时,注释也要进行相应的修改,尤其是参数、返回值、异常、核心逻辑等的修改。 说明:代码与注释更新不同步,就
像路网与导航软件更新不同步一样,如果导航软件严重滞后,就失去了导航的意义。
9. 【推荐】在类中删除未使用的任何字段和方法;在方法中删除未使用的任何参数声明与内部变量。
10. 【参考】谨慎注释掉代码。在上方详细说明,而不是简单地注释掉。如果无用,则删除。 说明:代码被注释掉有两种可能性:1)后续会
恢复此段代码逻辑。2)永久不用。前者如果没有备注信息, 难以知晓注释动机。后者建议直接删掉即可,假如需要查阅历史代码,登录代码
仓库即可。
11. 【参考】对于注释的要求:第一、能够准确反映设计思想和代码逻辑;第二、能够描述业务含义,使别的程序员能够迅速了解到代码背后
的信息。完全没有注释的大段代码对于阅读者形同天书,注释是给自己看的,即使隔很长时间,也能清晰理解当时的思路;注释也是给继任者
看的,使其能够快速接替自己的工作。
12. 【参考】好的命名、代码结构是自解释的,注释力求精简准确、表达到位。避免出现注释的一个极端:过多过滥的注释,代码的逻辑一旦
修改,修改注释是相当大的负担。
反例://put elephant into fridge put(elephant, fridge);
说明:方法名 put,加上两个有意义的变量名 elephant 和fridge,已经说明了这是在干什么,语义清晰的代码不需要额外的注释。
13. 【参考】特殊注释标记,请注明标记人与标记时间。注意及时处理这些标记,通过标记扫描, 经常清理此类标记。线上故障有时候就是来
源于这些标记处的代码。
待办事宜(TODO):(标记人,标记时间,[预计处理时间])
表示需要实现,但目前还未实现的功能。这实际上是一个 Javadoc 的标签,目前的 Javadoc 还没有实现,但已经被广泛使用。只能
应用于类,接口和方法(因为它是一个 Javadoc 标签)。
错误,不能工作(FIXME):(标记人,标记时间,[预计处理时间])
在注释中用 FIXME 标记某代码是错误的,而且不能工作,需要及时纠正的情况。
扩展规约
一. 命名规范
1. 【强制】 代码中的命名均不能以下划线或美元符号($)开始,也不能以下划线或美元符号结束。
反例: / name$ / Object$
name / __name / $Object / name
2. 【强制】 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。
说明: 正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式也要避免采用。
正例: alibaba / taobao / youku / hangzhou 等国际通用的名称, 可视同英文。
反例: DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3
3. 【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外: DO / BO /DTO / VO / AO
正例: MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion
反例: macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion
4. 【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从驼峰形式。
正例: localValue / getHttpMessage() / inputUserId
5. 【 强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
正例: MAX_STOCK_COUNT
反例: MAX_COUNT
6. 【强制】抽象类命名使用 Abstract 或 Base 开头; 异常类命名使用 Exception 结尾; 测试类命名以它要测试的类的名称开始,以 Test 结
尾。
7. String\[\] args;
反例: 使用 String args[]的方式来定义。
8. 【强制】 POJO 类中布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。
反例: 定义为基本数据类型 Boolean isDeleted; 的属性,它的方法也是 isDeleted(), RPC框架在反向解析的时候, "以为"对应的属性名称
是 deleted,导致属性获取不到,进而抛出异常。
9. 【强制】包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可
以使用复数形式。
正例: 应用工具类包名为 com.alibaba.open.util、类名为 MessageUtils( 此规则参考spring 的框架结构)
10. 【强制】杜绝完全不规范的缩写, 避免望文不知义。
反例: AbstractClass" 缩写" 命名成 AbsClass; condition" 缩写" 命名成 condi,此类随意缩写严重降低了代码的可阅读性。
11. 【推荐】如果使用到了设计模式,建议在类名中体现出具体模式。
说明: 将设计模式体现在名字中,有利于阅读者快速理解架构设计思想。
正例:
public class OrderFactory;
public class LoginProxy;
public class ResourceObserver;
12. 【推荐】接口类中的方法和属性不要加任何修饰符号( public 也不要加) ,保持代码的简洁性,并加上有效的 Javadoc 注释。尽量不要
在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础常量。
剩余13页未读,继续阅读
资源评论
有翅膀的猫
- 粉丝: 7506
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功