代码扫描
更新时间: 2024-12-04 15:39:38
代码扫描
离线开发支持在提交上线时进行代码扫描和卡点校验,支持设置代码扫描的规则,包括代码规范类、代码性能类、代码质量类、语法检查。支持将规则设置为强规则或弱规则,在提交上线时将对SQL节点进行扫描,如果命中强规则,将阻断提交;命中弱规则,不阻断提交仅作提醒。当前离线开发中可支持代码扫描的节点类型有:SQL,Doris,StarRocks。
权限控制:仅项目负责人和管理员可以设置代码扫描规则是否启用以及规则的强弱。
规则类型主要包括:代码规则类、代码性能类、代码质量类、其他。
其中,系统内置规则如下:
- 代码规则类:使用"drop"关键字、使用“truncate”关键字、使用“create”关键字、最上层select字段无别名、建表语句表缺少描述、建表语句字段缺少描述、表跨层依赖
- 代码性能类:分区表未指定分区、使用“select *”语法、使用“distinct”关键字、表关联on产生笛卡尔积、表关联使用full join、表关联过滤条件使用不当
- 代码质量类:select字段和插入表字段数量不一致、select字段和插入表字段名称或类型不一致、表关联on字段类型不一致、分区字段和过滤条件类型不匹配
- 其他:语法不通过
此外,支持添加自定义规则,添加并启用后,对当前项目生效。自定义规则会基于填写的正则规则表达式进行代码扫描。
说明: 代码扫描进行规则检查时首先对语法进行检查,如果语法检查未通过,将不再执行其他规则的检查。如果语法检查通过,将继续执行其他规则的检查。 |