欢迎来到天天文库
浏览记录
ID:23721748
大小:401.19 KB
页数:31页
时间:2018-11-10
《java开发手册》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、~~Java开发手册~~~~~目录前言3一、编程规约4(一)命名规约4(二)常量定义6(三)格式规约7(四)OOP规约8(五)集合处理11(六)并发处理14(七)控制语句16(八)注释规约17(九)其它18二、异常日志19(一)异常处理19(二)日志规约21三、MySQL规约22(一)建表规约22(二)索引规约23(三)SQL规约25(四)ORM规约26四、工程规约27(一)应用分层27(二)二方库规约28(三)服务器规约29五、安全规约30六、附1:本规约专有名词30~~~~~Java开发手册
2、~~~~~前言《Java开发手册》是某著名集团技术团队的集体经验总结,经历了多次大规模一线实战的检验及不断的完善,反馈给广大开发者。现代软件行业的高速发展对于开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。比如:数据库的表结构和索引设计缺陷可能带来软件上的架构缺陷或性能风险;工程结构混乱导致维护困难;没有鉴权的漏洞代码被黑客攻击等等。所以本手册以Java开发者为中心视角,划分为编程规约、异常日志规约、MySQL规约、工程规约、安全规约五大块,再根
3、据内容特征,细分成若干二级子目录。根据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。对于规约里的内容,“说明”对内容做了引申和解释;“正例”提倡什么样的编码和实现方式;“反例”说明需要提防的雷区,以及真实的错误案例。本手册的愿景是码出质量、码出高效。代码的字里行间流淌的是软件生命中的血液,质量的提升是尽可能少踩坑,杜绝踩重复的坑,切实提升质量意识。另外,现代软件架构都需要协同开发完成,高效考虑的是降低协同成本,所谓无规矩不成方圆,无规范不能协作。众所周知,制订交通法规表面上是要限制
4、行车权,实际上是保障公众的人身安全。试想如果没有限速,没有红绿灯,没有规定靠右行驶,谁还敢上路行驶。对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率。~~~~~Java开发手册版本号制定团队更新日期备注1.1.0增加前言和专有名词说明,修正部分描述。一、编程规约(一)命名规约1.【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例:_name/__name/$Object/name_
5、/name$/Object$2.【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式也要避免采用。反例:DaZhePromotion[打折]/getPingfenByName()[评分]/int某变量=3正例:alibaba/taobao/youku/hangzhou等国际通用的名称,可视同英文。3.【强制】类名使用UpperCamelCase风格,必须遵从驼峰形式,但以下情形例外:(领域
6、模型的相关命名)DO/BO/DTO/VO等。正例:MarcoPolo/UserDO/XmlService/TcpUdpDeal/TaPromotion反例:macroPolo/UserDo/XMLService/TCPUDPDeal/TAPromotion4.【强制】方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式。正例:localValue/getHttpMessage()/inputUserId5.【强制】常量命名全部大写,单词间用下划线隔开,力
7、求语义表达完整清楚,不要嫌名字长。正例:MAX_STOCK_COUNT反例:MAX_COUNT6.【强制】抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。7.【强制】中括号是数组类型的一部分,数组定义如下:String[]args;反例:使用Stringargs[]的方式来定义。8.【强制】POJO类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误。反例:定义为基本数据类型BooleanisS
8、uccess;的属性,它的方法也是isSuccess(),RPC~~~~~框架在反向解析的时候,“以为”对应的属性名称是success,导致属性获取不到,进而抛出异常。8.【强制】包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。正例:应用工具类包名为com.alibaba.open.util、类名为MessageUtils(此规则参考spring的框架结构)9.【强制】杜绝完全不规范的缩写,避免望文不知义。反例:A
此文档下载收益归作者所有