~/VibeHandbook
$39

03 · 02

指明输入、输出和边界情况

一个任务在它的边界被定义之前都不算被定义。资深工程师以"什么进去、什么出来、出错时会发生什么"的方式思考。把这些烤进提示词里。

Write a function to parse a date string.
Write a function parseDate(input: string): Date | null.

Inputs: ISO 8601 strings ("2026-06-14", "2026-06-14T10:30:00Z").
Output: a Date object, or null if the string is invalid.

Edge cases to handle:
- empty string or whitespace -> null
- valid format but impossible date (2026-02-30) -> null
- trailing garbage ("2026-06-14xyz") -> null

Do not throw. Return null for all invalid input.

当你点名说出边界情况时,AI 就会处理它们。当你不说时,它写顺利路径,然后你在生产环境里发现那些缺口。同样的纪律也适用于纯函数之外:对一个端点,要指明成功响应以及错误响应(重复的邮箱返回什么状态码?请求体格式错误时呢?)。对一个 UI 组件,要指明空状态和加载状态,而不只是有数据的状态。大多数软件有意思的行为都住在它的边缘,所以你的提示词也应当在那里花笔墨。

如果你不确定边界情况有哪些,就先问 AI:"一个日期解析器应该处理哪些边界情况?"——然后把答案当作约束喂回去。这把模型从一个代码生成器变成了一个清单生成器,而审查一份清单,比调试你忘掉的那些情况要快。

想离线阅读?

获取 PDF + EPUB + 可下载的提示词库 + 版本更新。

$ 获取 PDF — $39