LEFT JOIN 不等于最终一定保留左表所有记录。用三位作者的 SQLite 小实验,分清 ON 匹配与 WHERE 筛选,并验证 OR IS NULL 为什么仍会漏行。
Python 的 zip() 默认按最短输入结束,可能隐藏长度不匹配。用 strict=True 检出不齐,但要注意它不会撤销已发生的部分副作用。
配置字典中,键不存在和键存在但值为 None,调用 get() 都可能得到 None。用键成员检查或专用哨兵区分两种状态,避免把“未设置”误当成“明确为空”。
用 report.txt 等合成样本,验证 rstrip() 删除的是字符集合而非完整后缀,并说明 removesuffix() 的边界。
用实际小实验区分 list.sort() 的原地修改与 sorted() 的新列表,并验证新列表不等于内部字典也被独立复制。
用四行数据比较 SQLite 的 COUNT(*)、COUNT(列) 和 COUNT(DISTINCT 列),再测全空值与空表,分清总行数、已填字段和去重值数量。
通过 SQLite 内存库实测 NOT IN 与 NULL、NOT EXISTS 和空子查询的差异,给出两种有条件的修正和最小回归样本,不把查询空集误认成数据丢失。
内容缓存被回收,界面却保留旧绑定,可能让自动恢复根本不启动。一次真实排障及源码回归,说明如何区分对象身份、内容就绪与合法空结果,避免靠无限重试掩盖状态缺口。
打开设置页,插件效果消失;返回主界面又恢复。一次真实排障和隔离复现说明:问题可能不是样式,而是长期行为误绑了临时组件的生命周期。
一份 SQLite 数据库从加密快照隔离还原并核对,并不等于整套系统可恢复。用真实验证拆开备份任务、仓库、单库和业务全链路的证据边界。