- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
代码规范
(一) 命名风格
1、【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元 符号结束。
反例:_name / __name / $Object / name_ / name$ / Object$
建议:最好不使用下划线和美元符号;常量可使用下划线,但不能放在开头和结 尾
2、【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文 的方式。
说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯 拼音命名方式也要避免采用。
正例:alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英 文。
反例:DaZhePromotion [打折] / getPingfenByName() [评分]/int 某变量 = 3
3、【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例 外:DO / BO / DTO / VO / AO
说明:DO Domain Object 领域对象:从现实世界抽象出来的业务实体。
????BO Business Obejct 业务对象:面向业务建立的实体,包含多个PO或VO。
????DTO Data Transfer Object 数据传输对象:展示层和服务层之间的数据传输建 立的实体。
????VO Value Object(还有叫View Object)值对象:仅包含数据,不包含业务逻 辑的对象,通常用于页面显示。PO Persustan Object 持久对象:对应数据库的 对象,与数据库字段一一对应。
正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion
反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion
建议:约定俗成的名称或缩写可以例外
4、【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风 格,必须遵从驼峰形式,包括接口名。
正例:localValue / getHttpMessage() / inputUserId
建议:约定俗成的名称或缩写可以例外;ID为简写,id和ID均可以
5、【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不 要嫌名字长。
正例:MAX_STOCK_COUNT
反例:MAX_COUNT
6、【强制】抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类命名以它 要测试的类的名称开始,以 Test 结尾。
建议:抽象类命名只使用 Abstract 开头,因为很多业务基类也是以 Base 开头 的
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、建议:英文中的缩写有惯例,去掉元音留下辅音即可,不能乱缩写,但约定俗成 的缩 写可以例外
12、【推荐】为了达到代码自解释的目标,任何自定义编程元素在命名时,使用尽量 完整的单词组合来表达其意。
正例:从远程仓库拉取代码的类命名为 PullCodeFromRemoteRepository。
反例:变量 int a; 的随意命名方式。
13、【推荐】如果模块、接口、类、方法使用了设计模式,在命名时体现出具体模 式。
说明:将设计模式体现在名字中,有利于阅读者快速理解架构设计理念。
正例:public class OrderFactory;
??????public class LoginProxy;
??????public class ResourceObserver
您可能关注的文档
- 侵检测防御系统招标参数.docx
- 老男孩运维班教育_期中架构跳板机章节-jumpserver跳板机部署实践.pdf
- 云防护方案调研报告.docx
- 信息安全事件应急预案.docx
- 信息安全制度管理办法.docx
- 信息系统交付管理规定.docx
- 信息系统工程实施管理制度.docx
- 信息资产分级分类管理规定.docx
- 大势至电脑文件防泄密系统-常见问题.doc
- 大势至电脑文件防泄密系统-总体介绍.pdf
- 《GB/T 17737.9-2024同轴通信电缆 第9部分:柔软射频同轴电缆分规范》.pdf
- GB/T 17737.9-2024同轴通信电缆 第9部分:柔软射频同轴电缆分规范.pdf
- 中国国家标准 GB/T 17737.9-2024同轴通信电缆 第9部分:柔软射频同轴电缆分规范.pdf
- GB/T 44003-2024力学性能测量 REBCO涂层导体(镀铜)脱层强度测试方法.pdf
- 中国国家标准 GB/T 44021.2-2024音视频及相关设备 功耗测量 第2部分:测试信号和媒介.pdf
- 《GB/T 44021.2-2024音视频及相关设备 功耗测量 第2部分:测试信号和媒介》.pdf
- GB/T 44021.2-2024音视频及相关设备 功耗测量 第2部分:测试信号和媒介.pdf
- GB/T 43962.1-2024动力电池数字化车间集成 第1部分:通用要求.pdf
- 2024广西南宁市江南区教育局面向南宁市公办学校招募中学支教志愿者88人笔试备考试题及答案解析.docx
- 2024广西合浦县山口镇人民政府公开招聘村级防贫监测信息员2人笔试备考试题及答案解析.docx
文档评论(0)