feat(step6): 字段名 + 字段注释 双路径匹配,结果带判断依据
原规则只按 column_name 正则匹配,对命名不规范但注释清楚的字段(如
code_a / value1 等通用名)漏判。本次扩展:
- 规则结构改 dataclass LengthRule:
name_pattern: re.Pattern
comment_keywords: tuple[str, ...]
expected_length / standard / description
- 每条规则同时给出字段名正则 + 字段注释关键字列表(CI 子串匹配)
- 新增 _match_rule(col_name, col_comment, rule) → (hit, basis_text)
字段名正则未命中再试注释关键字
- issue dict 新增字段 basis:
"column_name 匹配 ^pattern$" 或 "column_comment 命中关键字「kw」"
- summary 新增 matched_by_name / matched_by_comment 计数
注释关键字示例(已覆盖常见中文命名习惯):
身份证号 → 身份证 / 公民身份
手机号 → 手机号 / 手机号码 / 移动电话
信用代码 → 统一社会信用代码 / 社会信用代码 / 信用代码
行政区划 → 行政区划 / 行政区划代码 / 地区编码
邮政编码 → 邮政编码 / 邮编
邮箱 → 邮箱 / 电子邮件 / e-mail
银行卡 → 银行卡号 / 银行卡
前端 '字段长度异常' tab:'国家标准 / 规则' 列加宽 320→340,下方新增一行
'依据:<basis>' 小字斜体,便于审计。
烟雾测试 5 用例:t1.id_card(身份证号)、t4.region_code(空注释) 走字段名;
t2.code_a(注释含手机号)、t5.admin_code(注释含行政区划代码) 走注释关键字;
t3.remark(备注) 正确剔除。
Showing
This diff is collapsed.
Please register or sign in to comment