From cc575b2ce323e868c869d643178dc20f94e54550 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Fri, 16 Oct 2026 23:27:39 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E9=97=B8):=20=E6=96=87=E4=BB=B6=E5=A4=B4?= =?UTF-8?q?=E9=97=B8=E5=A2=9E=E8=A1=A5=20R0=20=E8=BD=BD=E4=BD=93=E9=94=81?= =?UTF-8?q?=E6=AD=BB=E2=80=94=E2=80=94=E5=A4=B4=E6=B3=A8=E9=9D=9E=E7=A9=BA?= =?UTF-8?q?=E6=97=B6=E9=A6=96=E8=A1=8C=E5=BF=85=E9=A1=BB=20##=20=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E6=B3=A8=E9=87=8A=E5=BC=80=E5=A4=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 清偿批落地后按 §1.4.1 收尾条款生效;盲测=旧式 # 头注命中/## 与无头注放行 --- tools/audit_file_headers.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/audit_file_headers.py b/tools/audit_file_headers.py index b680b183..9de9dd56 100644 --- a/tools/audit_file_headers.py +++ b/tools/audit_file_headers.py @@ -1,9 +1,10 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -"""audit_file_headers.py — 文件头机器闸(code-conventions §1.4.1 第二轮立规 2026-10-15)。 +"""audit_file_headers.py — 文件头机器闸(code-conventions §1.4.1)。 文件头 = .gd 文件顶部连续注释区:连续的空行或 # 注释行,首个非注释代码行止。 -本脚本只实现机械可判子集(白名单五类的人判面见规范正文): +本脚本只实现机械可判子集(两类白名单的人判面见规范正文): + R0 载体:头注非空时首行必须以 `##` 文档注释开头(清偿批落地起生效); R1 行数上限:头注注释行(非空)> 8 行; R2 日期:头注出现日期模式(2026-09-12 / 2026年9月 一类)——日期只属于 git log 与迭代报告; R3 变更叙事词:「迭代N / 本迭代」、批次叙事复合词(本批/拆件批/改造批……)、「迁移到/改名为」 @@ -49,6 +50,8 @@ def audit_path(path): hits = [] text = path.read_text(encoding="utf-8", errors="replace") rows = header_lines(text) + if rows and not rows[0][1].lstrip().startswith("##"): + hits.append((rows[0][0], "R0 头注必须以 ## 文档注释开头")) if len(rows) > MAX_HEADER_LINES: hits.append((rows[0][0], "R1 头注 %d 行 > 上限 %d 行(区间 %d-%d 行)" % (len(rows), MAX_HEADER_LINES, rows[0][0], rows[-1][0])))