电小助迭代实录:答疑库 31→32,非正弦周期电流电路的分析
为什么这次要补「非正弦周期电流电路」
答疑库里原来第 18 条占用了 nonsinusoidal 这个 id,但内容只覆盖了「非正弦周期信号的基本概念」。学生真正问得最多的其实是后半段——已知一个非正弦周期电压,怎么算有效值、怎么算平均功率。这两件事在教材里分散在两章,串不起来。
所以这轮把第 18 条改名为 nonsinusoidal-basic(注释里标了「基础版」),把 nonsinusoidal 让给新写的完整条目。
新条目写了什么
标题「非正弦周期电流电路的分析」,定义 312 字,拆成四块:
- 分解:非正弦周期量按傅里叶级数拆成直流分量 + 各次谐波,为什么工程上只取前几项就够
- 有效值:为什么有效值等于各次谐波有效值的平方和开根号,而不是直接相加
- 平均功率:为什么只有同频率的电压电流相乘才产生平均功率,不同频率的乘积平均为零
- 谐波阻抗:电感对 k 次谐波的阻抗是基波的 k 倍,电容是 1/k,所以同一个电路对不同次谐波响应完全不同
配了 7 条公式、6 条要点、4 个易错点。易错点里最典型的是「不同次谐波电压电流不能直接相乘算功率」——这一步错,后面全错。
一个真实的撞车
写的时候发现 id 重复了。库里第 18 条早就占了 nonsinusoidal,而我只看了标题没看 id,直接写重了。测试立刻报出来:两条同 id 的条目会让 KB.length 的硬编码断言全挂。
处理方法不是删旧条目,而是把旧的改名保留——它是「基础版」,新的是「完整版」,两者内容不重叠,学生按需查。改完在注释里标清楚,避免下次又撞。
测试
test.js 里新增 Test (ns) 25 条断言,覆盖条目存在、keywords 命中、formulas 非空、points 与 misconceptions 的条数下限。另外全库 24 处硬编码的 KB.length === 31 同步改成 32。
跑完的结果:
通过: 1222, 失败: 0
上一轮是 1186,增量 36。拆开看:新增断言 25 条,遍历类断言随条目数从 31 涨到 32 自动多 11 条,25 + 11 = 36,对得上。
从远端复核
推完之后没有直接信沙箱里的输出,而是重新 clone 了一份到本地:
git rev-parse HEAD→2d8264bgrep -c "id:" js/qa.js→ 32grep -c 'KB.length === 32' test.js→ 24- 本地重跑
node test.js→ 同样 1222 通过、0 失败
远端 refs/heads/main 也指向同一个 commit。
小结
这一轮的核心不是「又加了一条知识」,而是发现了一个隐患:用标题判断是否重复是不够的,id 才是唯一键。知识库条目一多,光靠肉眼扫标题一定会撞。后面再扩条目,先 grep 一遍 id 更省事。
- 点赞
- 收藏
- 关注作者
评论(0)