docs: 决策记录 8 条、变更日志、README 的验收与口令两节
0007 与 0008 是本次改造新产生的决策(原计划 6 条)。它们同样满足「后人会问为什么」:把运行锁改成互斥体、或给库里 27 个函数补上 SupportsShouldProcess,都是看起来更规范的错法。 CHANGELOG.md:把 README 里那 33 行「相对旧版修了什么」整节搬过去,并补上本次改造的记录(11 条修复 + 6 条结构与规范,每条修复都写明现象与现状)。README 那一节换成指针。 README 新增两节:「验收与静态分析」(六个层次、Run-RealSmoke 为什么独立存在、以及那 6 条格式规则默认 Disabled 这个容易漏掉的事实);「口令放在哪里」(默认留空不是遗漏,附迁移与验证命令)。 .markdownlint.json 照 PowerShell 主仓库的实践(default true、行长 240),只把 MD024 从关闭改成「仅同级不重复」,因为变更日志需要重复标题。顺带按 .editorconfig 把 .md 的 BOM 去掉。
This commit is contained in:
1 parent
42f02d0eca
commit
3a3a57a6a1
12 files changed
+282
-33
No files matched your search
@@ -0,0 +1,14 @@
|
||||
# 模块源码拆成 BakNRet/{Public,Private},另提供单文件构建
|
||||
|
||||
原来是一个 3152 行、66 个函数的 `Common.psm1`。拆成 `BakNRet/BakNRet.psd1`(模块清单,
|
||||
`FunctionsToExport` 是显式白名单)、`BakNRet/BakNRet.psm1`(薄加载器)、`BakNRet/Public/*.ps1`
|
||||
(62 个对外函数,一函数一文件,文件名 = 函数名)、`BakNRet/Private/*.ps1`(4 个内部函数 +
|
||||
`State.ps1` 集中存放模块级状态)。
|
||||
|
||||
一函数一文件是社区里脚本模块的主流形态(调研实测:winutil 79 个、Terminal-Icons 24 个、
|
||||
ModuleBuilder 23 个,全部如此);而"拆了还能合回去"是这套方案成立的前提,所以
|
||||
`tools/Build-BakNRetModule.ps1` 从加载器里读出顺序拼回单文件,并且加载器的点源顺序
|
||||
**只在加载器里出现一次**——一条断言盯着"点源的文件集合 = 磁盘文件集合"、
|
||||
"导出名单 = `Public/` 目录"。
|
||||
|
||||
代价:日常要跳文件;顺序被隐式固化在加载器里(改顺序要改加载器)。
|
||||
Reference in new issue
Block a user