已关闭
[cleancode] conversion/random 模块多个算子代码重复率偏高,需调整声明/检查顺序降低重复率 #3118
佐助大王创建于  24 天前关闭于  24 天前
佐助大王
佐助大王
24 天前 创建

问题描述

conversion 和 random 模块下多个算子的源文件(op_api/op_host)在 cleancode 扫描中代码重复率偏高,主要表现为:

  1. include 头文件顺序混乱:多个 .cpp 文件的 #include 顺序无规律,导致与仓内其他文件的相似度计算偏高
  2. 常量/变量声明顺序混乱:如 pad_v4_grad_tiling.cpp 中 constexpr 与 static map 交错排列
  3. 参数检查顺序不一致:如 aclnn_pad2d_backward.cpp 的 CheckNotNull / CheckDtypeValid 中各检查项顺序与同类算子不一致

cleancode 扫描基于行级相似度,上述顺序差异会被误判为重复代码块,需统一调整声明/检查顺序以降低重复率。

涉及文件(8 个)

# 文件 改动类型 说明
1 conversion/chunk_cat/op_api/aclnn_chunk_cat.cpp include 顺序 按 op_api_def/aclnn_check/opdev/common/opdev 分组排序
2 conversion/concat_d/op_api/aclnn_cat.cpp include 顺序 同上分组排序
3 conversion/flatten/op_host/op_api/flatten.cpp include 顺序 按 make_op_executor/op_def/aicpu_task/op_dfx/op_log/op_executor/platform/shape_utils 排序
4 conversion/pad_v3_grad_replicate/op_host/op_api/aclnn_pad2d_backward.cpp 检查顺序 CheckNotNull 调整为 self→gradOutput→gradInput→padding;CheckDtypeValid 调整为 gradInput→gradOutput→self
5 conversion/pad_v4_grad/op_host/pad_v4_grad_tiling.cpp 常量顺序 按 map→TILING_KEY→shape 上限→SMALL_W_LIMIT 分组排列
6 random/drop_out_do_mask/op_api/aclnn_dropout_backward.cpp include 顺序 按 platform→common_types→format_utils→op_executor→data_type_utils→op_log→tensor_view_utils→op_dfx→shape_utils 排序
7 random/drop_out_do_mask/op_api/aclnn_dropout_do_mask.cpp include 顺序 + 常量顺序 include 同上分组;BIT_NUMBER 与 UINT8_BIT_NUMBER 顺序对换
8 random/dsa_gen_bit_mask/op_host/op_api/aclnn_dropout.cpp include 顺序 按 common_types→format_utils→data_type_utils→op_dfx→shape_utils→op_executor→platform→op_log→tensor_view_utils 排序

期望修复

对上述 8 个文件进行 cleancode 顺序调整,不改变任何代码逻辑,仅调整 include 顺序、常量声明顺序、参数检查顺序,使 cleancode 重复率达标。

关联 PR

注:以上两个 PR diff 内容相同(8 个文件、+51/-51),为同一修复的重复提交,建议保留其一并关闭另一个。

类型

likedislike
CANN-robotCANN-robot成员
24 天前 关闭了 issue
CANN-robotCANN-robot成员
24 天前 添加了label:resolved
陈思陈思成员
12 天前 将 ji-songyuan 设为负责人