关键词:
1. 【强制】不允许任何魔法值 ( 即未经预先定义的常量 ) 直接出现在代码中。
反例: String key = " Id # taobao _" + tradeId;
cache . put(key , value);
2. 【强制】在 long 或者 Long 赋值时,数值后使用大写的 L ,不能是小写的 l ,小写容易跟数字1 混淆,造成误解。
说明: Long a = 2 l; 写的是数字的 21,还是 Long 型的 2?
3. 【推荐】不要使用一个常量类维护所有常量,要按常量功能进行归类,分开维护。
说明:大而全的常量类,杂乱无章,使用查找功能才能定位到修改的常量,不利于理解和维护。
正例:缓存相关常量放在类 CacheConsts 下 ; 系统配置相关常量放在类 ConfigConsts 下。
4. 【推荐】常量的复用层次有五层:跨应用共享常量、应用内共享常量、子工程内共享常量、包内共享常量、类内共享常量。
1 ) 跨应用共享常量:放置在二方库中,通常是 client . jar 中的 constant 目录下。
2 ) 应用内共享常量:放置在一方库中,通常是子模块中的 constant 目录下。
反例:易懂变量也要统一定义成应用内共享常量,两位攻城师在两个类中分别定义了表示“是”的变量:
类 A 中: public static final String YES = " yes " ;
类 B 中: public static final String YES = " y " ;
A . YES . equals(B . YES) ,预期是 true ,但实际返回为 false ,导致线上问题。
3 ) 子工程内部共享常量:即在当前子工程的 constant 目录下。
4 ) 包内共享常量:即在当前包下单独的 constant 目录下。
5 ) 类内共享常量:直接在类内部 private static final 定义。
5. 【推荐】如果变量值仅在一个固定范围内变化用 enum 类型来定义。
说明:如果存在名称之外的延伸属性应使用 enum 类型,下面正例中的数字就是延伸信息,表示一年中的第几个季节。
正例:
1 public enum SeasonEnum 2 SPRING(1), SUMMER(2), AUTUMN(3), WINTER(4); 3 private int seq; 4 SeasonEnum(int seq) 5 this.seq = seq; 6 7
规约先行-(一)命名规约(代码片段)
就是简单的过一遍,照抄阿里规约,加强记忆【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例:_name/__name/$Object/name_/name$/Object$【强制】代码中的命名严禁使用拼音与英文混合的方... 查看详情
阿里巴巴java开发手册
——禁止用于商业用途,违者必究——1/33一、编程规约编程规约((一))命名命名风格风格1.【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例:_name/__name/$Object/name_/name$/Object$2.【强制... 查看详情
编程规约一(代码片段)
大厂比较重视代码规范,尤其是可扩展性和可维护性,以及可读性。如果你是一个刚进公司的开发者,最好先问问前辈是否有内部的开发规范,花点时间过一遍。即使提交代码没有review的步骤,自己心里应该有个规范。业内... 查看详情
课堂练习wordcount(代码片段)
...梦寒,胡琦2. 项目计划我们选第一、二个功能点进行编程。具体计划:(1).首先爬取网站内容及网页长度;(2).对爬取的文件内容进行wordcount操作;(3).对选定词语出现频率进行统计。3. 环境配置编程语言:python代... 查看详情
阿里巴巴java开发手册1.7.0(嵩山版)编程规约&mysql数据库规约
阿里巴巴Java开发手册1.7.0(嵩山版)一、编程规约(一)命名风格所有命名不得以==下划线和$==开始和结束。所有命名不得以拼音或拼音英文混合。类名使用UpperCamelCase风格。方法名、参数名、成员变量、局部变量都统一使用lower... 查看详情
1.5编程规约_集合处理(代码片段)
1.【强制】关于hashCode和equals的处理,遵循如下规则:1)只要重写equals,就必须重写hashCode。2)因为Set存储的是不重复的对象,依据hashCode和equals进行判断,所以Set存储的对象必须重写这两个方法。3)如果自定义对象作为Map的键... 查看详情
阿里java开发手册之编程规约
对于程序员来说,编程规范可以养成良好的编程习惯,提高代码质量,降低沟通成本。就在2月9号,阿里出了一份Java开发手册(正式版),分为编程规约,异常日志,MySQL规约,工程规约,安全规... 查看详情
java单体服务开发指南(代码片段)
文章目录一、代码组织模式1、多仓库2、单体仓库二、编程规约(参考《阿里Java开发手册》)1、命名风格2、常量定义3、代码格式4、OOP规约5、日期时间6、集合处理7、并发处理8、控制语句9、注释规约10、前后端规约11、... 查看详情
java开发手册(阿里巴巴)——编程规约(部分)
(一)命名风格3.【强制】类名使用UpperCamelCase风格,但以下情形例外:DO/BO/DTO/VO/AO/PO/UID等。正例:MarcoPolo/UserDO/XmlService/TcpUdpDeal/TaPromotion反例:macroPolo/UserDo/XMLService/TCPUDPDeal/TAPromotion6.【强制】抽象类命名使用Abstract或Base开头 查看详情
阿里开发手册规范(java)
目录一、编程规约 (一)命名规范(二)常量定义(三)代码格式 (四)OOP规约(五)日期时间(六)集合处理 (七)并发处理(八)控制语句(九)注释规约(十)前后端规约二、异常日志 (一)错误码(二)异常处理(三)日志规约 三、单元测试 四、安... 查看详情
阿里巴巴规约没有注意的点(代码片段)
...引起序列化错误为了达到代码自解释的目标,任何自定义编程元素在命名时,使用尽量完整的单词组合来表达其意接口类中的方法和属性不要加任何修饰符号(public也不要加),保持代码的简洁性,并加上有效的Jav 查看详情
1.9编程规约_其它
1.【强制】在使用正则表达式时,利用好其预编译功能,可以有效加快正则匹配速度。说明:不要在方法体内定义:Patternpattern= Pattern.compile(“规则”);2.【强制】velocity调用POJO类的属性时,建议直接使用属性名取值即可,模... 查看详情
阿里java开发手冊之编程规约
对于程序猿来说,编程规范能够养成良好的编程习惯,提高代码质量,减少沟通成本。就在2月9号,阿里出了一份Java开发手冊(正式版),分为编程规约。异常日志。MySQL规约,project规约。安全规约五个章节。这里我依据阿里的编... 查看详情
google风格c/c++编程规范---命名约定(代码片段)
命名的风格能让我们在不需要去查找类型声明的条件下快速地了解某个名字代表的含义:类型,变量,函数,常量,宏,等等,甚至.我们大脑中的模式匹配引擎非常依赖这些命名规则.7.1通用命名规则总述函数命名,变量命名,文件命名要有... 查看详情
google风格c/c++编程规范---命名约定(代码片段)
命名的风格能让我们在不需要去查找类型声明的条件下快速地了解某个名字代表的含义:类型,变量,函数,常量,宏,等等,甚至.我们大脑中的模式匹配引擎非常依赖这些命名规则.7.1通用命名规则总述函数命名,变量命名,文件命名要有... 查看详情
架构师技能1:java工程规范浅析领域模型vodtodopo优秀命名(代码片段)
...异,通过统一的编码风格使得代码可读性大大提高。编程规约或者编码规范的的本质是提高了代码的可读性,最终目的是提高团队协作效率,降低工程维护成本。一、项目的应用分层:代码分层,让不同层次... 查看详情
数据库建表规约,索引创建及失效分析(代码片段)
文章目录1.建表规约2.索引规约3.SQL规约1.建表规约1.1表达是否概念的字段,使用is_xxx的方式命名,数据类型为unsignedtinyint;1.2表名、字段名使用小写字母或数字; 禁止数字开头,禁止两个下划线中间值出... 查看详情
数据库建表规约,索引创建及失效分析(代码片段)
文章目录1.建表规约2.索引规约3.SQL规约1.建表规约1.1表达是否概念的字段,使用is_xxx的方式命名,数据类型为unsignedtinyint;1.2表名、字段名使用小写字母或数字; 禁止数字开头,禁止两个下划线中间值出... 查看详情