栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

记录一次codeReview

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

记录一次codeReview

记录一次codeReview 为什么要做CR
  • 在一些开发周期较短的项目中,为了快速完成需求,不写单元测试用例,coding的时候也没有从性能、安全角度去考虑更好的实现,虽然按期提交了代码,但却不是一份高质量的代码,在运行中可能出问题

  • 部分项目都是基于原有的项目上二次开发,很多功能不是自己想要的

怎么做CR
  • code review翻译过来是代码审查的意思,就是对项目中已完成功能代码的规约的统一,包括但不限于安全、规范、健壮、可扩展、可重用等方面设计

  • 目前部分代码托管工具(Github、Gitlab、阿里云云效、腾讯工蜂)等已然支持CR,可以根据自己的情况选择

以上明确了为什么要做以及怎么做后,就需要结合自身项目情况进行实践


可参考《alibaba开发手册》https://mp.weixin.qq.com/s/tW-zX8ajeaDgGFEw38RR5w?spm=a2c4g.11186623.0.0.3cfe3149h06UtF

1,工程规范
  • 应用分层
    controller层:对访问控制进行转发,不参与业务处理
    service层:业务处理层,统一规范有接口层和实现类
    dao层:只与数据库交互

  • 实体模型
    DO:与数据库表对应,通过 dao 层向上传输数据源对象
    DTO:数据传输对象,service向外传输的对象
    VO/Result:视图层显示对象
    Query:数据查询对象,参数超过两个时,禁止使用Map封装

2,编码规范
  • 命名约束
    类名使用 UpperCamelCase 风格,但以下情形例外:DO/BO/DTO/VO/AO/PO/UID 等
    方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格
    所有编程相关的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式
    抽象类命名使用Abstract,异常类命名使用Exception结尾,工具类Utils结尾
    不允许任何魔法值(即未经预先定义的常量)直接出现在代码中

  • OOP约束
    所有的覆写方法,必须加@Override 注解
    不能使用过时的类或方法
    equals的调用必须确保调用者不是空对象
    任何货币金额,均以最小货币单位且整型类型来进行存储(BigDecimal)
    不要保留无用的代码

3,数据库规约
  • 建表约束
    表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只出现数字
    主键索引名为 pk_字段名,唯一索引名为 uk_字段名,普通索引名则为 idx_字段名
    小数类型为 decimal,禁止使用 float 和 double
    如果存储的字符串长度几乎相等,使用 char 定长字符串类型

  • SQL语句约束
    不要使用 count(列名)或 count(常量)来替代 count(*)
    使用 ISNULL()来判断是否为 NULL 值
    禁止在where后面使用函数和表达式

4,其他
  • 安全规约
    用户敏感数据禁止直接展示,必须对展示数据进行脱敏
    持久层操纵数据库禁止字符串拼接 SQL 访问数据库
    controller层接受参数必须做有效性校验

  • 缓存规约
    缓存名称统一命名为服务名称:服务模块名称:服务业务唯一ID

欢迎大家共同交流

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/294625.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号