研究工具

把一次性脚本,变成可复用的研究组件

从输入契约、日志、配置和最小测试开始,让下一次复现不再依赖你的记忆。

组件从边界开始

先写清输入是什么、输出是什么、失败时怎样报告。一个小组件不必很复杂,但它应该让错误变得可见。

def normalize_records(records, required=("firm_id", "year")):
    missing = [name for name in required if name not in records.columns]
    if missing:
        raise ValueError(f"missing columns: {missing}")
    return records.drop_duplicates(list(required))

最小交付清单

  • 一个能运行的示例;
  • 明确的输入、单位和缺失值约定;
  • 对关键边界条件的测试;
  • 记录版本与参数的输出。

复用不是“以后也许还能跑”,而是换一个人、换一批数据,仍然知道它做了什么。

DISCUSSION

一起把问题讲清楚

0 条讨论
回复即时公开,无需审核。