feat(门禁): 硬件语料纳入扫描——位号不进编号也不进比例分母
- check_ids.py 扫描循环:位号([RCDJXUT][0-9]{1,3} 无连字符)在 refs_total 之前 continue,
既不产生结论也不灌分母;add() 里的同一道判定保留作兜底
- 注册表 excluded_paths 移除 docs/硬件平台/(docs/芯片手册/ 仍排除)
- 首次纳入暴露 28 类先前不可见的存量 → 按规矩逐条写 reason 入台账(**不重打快照**,
台账只增带理由的条目);错误级 626 → 661,可判定 82.84%(基线 82.6 仍守住)
- 遗留噪声已在 designator_rule 记明:引脚名 PB12-15 / PG0-15 / DB0-15(两字母+数字+区间)
不是编号,但位号规则不覆盖这种形状,先记账、待加 pin-name 类型规则后清除
- 验证:--strict 通过(无未登记的台账外新账);未改 C/H 不需 @build
This commit is contained in:
@@ -257,6 +257,15 @@ class Checker(object):
|
||||
if (literal, start) in seen_here:
|
||||
continue
|
||||
seen_here.add((literal, start))
|
||||
# 位号:硬件语料里的 R/C/D/J/X/U/T + 数字既不算编号、**也不进比例分母**
|
||||
# (约 4200 处位号若进 refs_total,会把分母灌水、掩盖真实变化)
|
||||
_rx = getattr(type(self), "_desig_rx", None)
|
||||
if _rx is None:
|
||||
_rx = type(self)._desig_rx = re.compile(r"[RCDJXUT][0-9]{1,3}")
|
||||
type(self)._desig_paths = ("docs/硬件平台/", "docs/芯片手册/")
|
||||
if rel.startswith(type(self)._desig_paths) and _rx.fullmatch(literal):
|
||||
self.stats["designator_skipped"] = self.stats.get("designator_skipped", 0) + 1
|
||||
continue
|
||||
self.stats["refs_total"] += 1
|
||||
fams = [f for f in self.families if f["_full"].match(literal)]
|
||||
if not fams:
|
||||
|
||||
Reference in New Issue
Block a user