-
2020-12-26...(三) 服务器 1. 【推荐】高并发服务器建议调小TCP协议的time_wait超时时间。 说明:操作系统默认240秒后,才会关闭处于time_wait状态的连接,在高并发访问下,服务器端会因为处于time_wait的连接数太多,可能无法建立新的连接,所以需要在服务器上调小此等待值。正例:在lin... 197
-
2020-12-26...五、(二) MySQL索引规约 1. 【强制】业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引。 说明:不要以为唯一索引影响了insert速度,这个速度损耗可以忽略,但提高查找速度是明显的;另外,即使在应用层做了非常完善的校验控制,只要没有唯一索引,根据墨菲定律,必然有脏数据产生。2.... 212
-
2020-12-26...四、安全规约
1. 【强制】隶属于用户个人的页面或者功能必须进行权限控制校验。 说明:防止没有做水平权限校验就可随意访问、修改、删除别人的数据,比如查看他人的私信内容。2. 【强制】用户敏感数据禁止直接展示,必须对展示数据进行脱敏。 说明:中国大陆个人手机号码显示:1... 196 -
2020-12-26...三、单元测试 1. 【强制】好的单元测试必须遵守AIR原则。 说明:单元测试在线上运行时,感觉像空气(AIR)一样感觉不到,但在测试质量的保障上,却是非常关键的。好的单元测试宏观上来说,具有自动化、独立性、可重复执行的特点。 ⚫ A:Automatic(自动化) ⚫ I:Ind... 190
-
2020-12-26...二、(二)異常處理 1. 【强制】Java 类库中定义的可以通过预检查方式规避的RuntimeException异常不应该通过catch 的方式来处理,比如:NullPointerException,IndexOutOfBoundsException等等。 说明:无法通过预检查的异常除外,比如,在... 207
-
2020-12-26...(十) 前后端规约 1. 【强制】前后端交互的API,需要明确协议、域名、路径、请求方法、请求内容、状态码、响应体。 说明:1) 协议:生产环境必须使用HTTPS。 2) 路径:每一个API需对应一个路径,表示API具体的请求地址: a) 代表一种资源,只能为名词,推荐使用复数,不能为动词,请求方法... 247
-
-
2020-12-26...(九) 注释规约
1. 【强制】类、类属性、类方法的注释必须使用Javadoc规范,使用/**内容*/格式,不得使用// xxx方式。
说明:在IDE编辑窗口中,Javadoc方式会提示相关注释,生成Javadoc可以正确输出相应注释;在IDE中,工程调用方法时,不进入方法即可悬浮提示方法、参数、返回... 198 -
2020-12-26...(八)控制語句
1. 【强制】在一个switch块内,每个case要么通过continue/break/return等来终止,要么注释说明程序将继续执行到哪一个case为止;在一个switch块内,都必须包含一个default语句并且放在最后,即使它什么代码也没有。 说明:注意break是退出switch语句... 208 -
2020-12-24...(六) 集合处理-2 8. 【强制】在subList场景中,高度注意对父集合元素的增加或删除,均会导致子列表的遍历、增加、删除产生ConcurrentModificationException 异常。 9. 【强制】使用集合转数组的方法,必须使用集合的toArray(T[] array),传入的是类型完全一致... 199
-
2020-12-24...(五) 日期时间 1. 【强制】日期格式化时,传入pattern中表示年份统一使用小写的y。 说明:日期格式化时,yyyy表示当天所在的年,而大写的YYYY代表是week in which year(JDK7之后引入的概念),意思是当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,返回的YYYY就是下一年... 195
-
2020-12-24...13. 关于基本数据类型与包装数据类型的使用标准如下: 1) 【强制】所有的POJO类属性必须使用包装数据类型。 2) 【强制】RPC方法的返回值和参数必须使用包装数据类型。 3) 【推荐】所有的局部变量使用基本数据类型。 说明:POJO类属性没有初值是提醒使用者在需要使用时,必... 190
-
2020-12-24...(四) OOP规约 1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。2. 【强制】所有的覆写方法,必须加@Override注解。 说明:getObject()与get0bject()的问题。一个是字母的O,一个是数字的0,加@Override可... 202
-
-
2020-12-24...(二) 常量定义 1. 【强制】不允许任何魔法值(即未经预先定义的常量)直接出现在代码中。
反例:// 本例中,开发者A定义了缓存的key,然后开发者B使用缓存时少了下划线,即key是"Id#taobao"+tradeId,导致出现故障String key = "Id#taobao_" + tradeId;c... 209 -
2020-12-23...一、 编程规约(一) 命名风格1. 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
反例:_name / __name / $name / name_ / name$ / name__2. 【强制】所有编程相关的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 ... 218 -
-
本页Url:
-
2024-12-22-08:03 GMT . 添加到桌面浏览更方便.
-