Commit 9112c312 authored by Data Governance Dev's avatar Data Governance Dev

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(备注) 正确剔除。
parent 22ae5842
This diff is collapsed.
......@@ -491,11 +491,12 @@
<el-table-column label="浪费字节" width="90" align="right">
<template #default="{ row }">{{ row.wasted_bytes_per_row }}</template>
</el-table-column>
<el-table-column label="国家标准 / 规则" width="320">
<el-table-column label="国家标准 / 规则 / 依据" width="340">
<template #default="{ row }">
<div>
<strong style="color: #303133">{{ row.standard }}</strong>
<div class="muted" style="font-size: 12px; margin-top: 2px">{{ row.rule }}</div>
<div v-if="row.basis" class="muted" style="font-size: 11px; margin-top: 2px; color: #909399; font-style: italic">依据:{{ row.basis }}</div>
</div>
</template>
</el-table-column>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment