代码运行成功,只能证明计算机接受了你的指令;它不能证明你理解了方案,也不能证明这个结果回答了正确的问题。
多数分歧发生在代码之前
“治疗期间”“计划给药次数”“基线”“依从性”这些词看起来清晰,但进入真实项目就会牵涉日期、访视窗口、提前退出、漏服、剂型与数据源。
衍生变量的第一步不是打开编辑器,而是把自然语言规则拆成输入、条件、时间边界、计算顺序和异常处理。
把定义写成可执行链条
一个可靠的衍生逻辑至少要回答:使用什么数据源;按什么粒度计算;哪些记录进入;日期如何处理;缺失和重复如何处理;结果如何验证。
- 来源:变量来自 SDTM、ADSL 还是方案规定的访视结构?
- 过滤:剂型、药物、阶段、分析集与时间窗是否明确?
- 计算:先逐记录处理,还是先按受试者汇总?
- 验证:能否覆盖正常、缺失、提前退出与重复记录?
QC 的核心不是再写一遍
独立编程很重要,但真正的独立来自不同的推导路径。更好的 QC 是回到定义,构造边界案例,并追问每一步为什么存在。
先让定义经得起追问,再让代码经得起运行。