代码扫描

自助分析执行时支持进行代码扫描,包含代码规范类、代码性能类、代码质量类、其他。在自助分析的配置管理中,支持设置代码扫描规则是否启用,并支持设置强规则或弱规则。开启强规则时,在执行Query时会进行提醒,并阻断执行Query过程;弱规则,在执行Query时仅作提醒,不阻断执行Query过程。

权限控制:仅项目负责人和管理员可以设置代码扫描规则是否启用以及规则的强弱。

规则类型主要包括:代码规则类、代码性能类、代码质量类、其他。

  • 代码规则类:使用"drop"关键字、使用“truncate”关键字、使用“create”关键字、最上层select字段无别名、建表语句表缺少描述、建表语句字段缺少描述、表跨层依赖
  • 代码性能类:分区表未指定分区、使用“select *”语法、使用“distinct”关键字、表关联on产生笛卡尔积、表关联使用full join、表关联过滤条件使用不当
  • 代码质量类:select字段和插入表字段数量不一致、select字段和插入表字段名称或类型不一致、表关联on字段类型不一致、分区字段和过滤条件类型不匹配
  • 其他:语法不通过

代码扫描 - 图1
代码扫描 - 图2

说明: 代码扫描进行规则检查时首先对语法进行检查,如果语法检查未通过,将不再执行其他规则的检查。如果语法检查通过,将继续执行其他规则的检查。

如下图,为配置了【使用“select *”语法】为强规则,并在自助分析执行包含“select *”语句时的错误提示。
代码扫描 - 图3