目录
陶俊宇

S02 修复评审查出的两处问题并同步文档

独立评审对照官方示例核实后查出:

  • docx.tables 在 0 行表上抛 IndexError:行数守卫写在读表头之后,而 0 行的表 列数可能是对的(tblGrid 正常),于是 table.cell(0, c) 越界。危害不只是少一条 结果——异常会从 check_docx 抛出去,check_dir 兜住后只留一条 docx.crash, 其余 9 条结果全部丢失,排查时反而看不到真实缺陷。已把行数检查提到读表头之前 并加 rows >= 1 守卫;修复后同一坏文件产出 12 条可定位失败。
  • 附件5/6 数据行左对齐与官方示例不符:官方两张表的每一个单元格(含全部数据行) 实测 alignment 均为 CENTER,已统一为居中(原先按”好看”写了 LEFT)。

另有三处收尾:

  • 修掉一个空断言:test_attachment_list_uses_ascii_digits_… 原本对测试文件自身 的常量断言,写入器整个删掉也照样通过;已改为读产出文件里的真实段落。
  • _enum_5 的预置表删掉,改用 _cn_num(index + 1),11 条以上不再掉回阿拉伯数字。
  • docx.fonts 补一条正文 run 的 eastAsia 校验:run 上的显式属性优先于样式继承, 只查 Normal 样式漏得掉「每个正文 run 都没写 eastAsia」。该规则现产出 4 条结果, 官方示例检查项由 19 增至 20。

任务书已按实测更正(依 tasks/README.md §4.4):

  • 附件6 第 4 列是「常驻数量」(不换行),原文写作「常驻\n数量」;该错误是新写的 docx.tables 规则跑官方示例时报红才暴露的。
  • 「附件5/6 表格单元格全部居中」规格此前缺失,已补入 §5。
  • §6/§7 补记第 9 条 docx.fonts 与 docx.tables 的校验口径调整理由。

验收(实际输出):

  • PYTHONPATH=src python -m pytest tests/ -q -> 99 passed
  • check_dir(‘../示例/2025.10.20’) -> 20 项检查, 0 项失败
  • 占位 ReportDraft 往返 -> 13 项 docx 检查, 0 项失败

Co-Authored-By: Claude Code noreply@anthropic.com

2天前4次提交

knowledge_organization

关于
9.1 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号