代码可以运行,是验证的开始。它是否解决了原本的问题,还需要明确的标准。
先把任务说清楚
描述输入格式、期望输出、运行环境和限制。例如,与其只要求“整理一组数字”,不如明确是否允许重复、是否需要保留顺序,以及空输入怎样处理。
示例任务:用 Python 对整数列表去重,保持第一次出现的顺序;输入为空列表时返回空列表,不修改原列表。
写出可以检查的结果
假设生成的函数名为 deduplicate,可以先检查以下案例。示例没有给出该函数实现,断言需要放在待验证函数之后运行。
original = [3, 1, 3, 2, 1]
assert deduplicate(original) == [3, 1, 2]
assert deduplicate([]) == []
assert deduplicate([5, 5]) == [5]
assert original == [3, 1, 3, 2, 1]
再核对文档与失败情况
- 核对所用接口是否存在,以及依赖版本是否匹配。
- 检查正常输入、空输入和不符合约定的输入。
- 阅读涉及文件、网络和数据写入的代码,理解它会影响哪些内容。
- 保留仍然无法确认的条件,不把少量示例通过当作完整正确性证明。
学习小结
用清晰的问题、官方文档和可检查的案例辅助判断,逐步建立对代码行为的理解。