提取原始输出中的结构化字段
第一步,拆解ChatGPT生成的那段文字。得逐行检查,把类似 `-f, --file ` 或 `--verbose` 这种选项定义,从大段的描述文字里单独拎出来。这些是机器能读懂的“骨架”,混在段落里,后续无论是生成 `--help` 还是 man page,都没法自动化处理。
实际操作中,可以用这条正则快速筛选:
^(-[a-zA-Z], )?--[w-]+(s+)?(s+(.*?))?($|(?=n))
把匹配到的选项行复制到一个新文件里。这是技术文档的地基——漏掉任何一个带 `--` 的参数,最终的帮助信息就会缺胳膊少腿,功能说明都不全。
重写描述语句为 POSIX 兼容风格
骨架有了,接下来就是给骨头“裹上”规范的描述。这里的核心原则是:去掉所有花哨的、口语化的、拟人化的表达。
**方法一:删掉所有第一人称和比喻表达**
ChatGPT的一大特点就是喜欢“扮演”一个人跟你说话。改写的目标就是把这些痕迹全部清除。
* 把 `你可以用这个参数来快速跳过验证` 改成 `跳过输入验证步骤`。结果导向,干净利索。
* 像 `它就像一个开关` 这种比喻句,直接删掉。man 手册里不允许任何拟人化表述,保证信息的绝对精准。
**方法二:统一动词时态与粒度**
所有动作描述必须使用祈使句作为句首。
* 正确写法:`显示调试日志`、`输出 JSON 格式结果`、`从 STDIN 读取配置`。
* **【绝对禁止】** `将显示`、`会输出`、`可以读取`。这类模糊的、带有推测和可能性意味的表述,会让用户无法准确预判该参数的实际行为,在命令行世界里是大忌。
组织成标准 --help 输出格式
当选项和描述都准备就绪后,最后一步就是把它们组装成一个既符合POSIX标准、又方便人类阅读的 `--help` 输出。这个格式几乎适用于所有CLI工具。
**第一步:顶部写命令名与简短摘要**
格式非常固定:`mytool v2.4.0 — 执行批量 YAML 验证与转换`
**第二步:空一行后写用法模板**
例如:Usage: mytool [OPTIONS] []
方括号代表可选参数,尖括号代表必要参数占位符。这个单行格式必须清晰,不加引号,不换行。
**第三步:插入选项区块,按字母顺序排列**
长选项按字母序排列,短选项紧随其后。每个选项独占一行,左对齐。描述文字统一从第25列开始写(用空格补足),保证视觉整齐划一。这在终端里用 `column -t` 命令自动生成时尤其重要——对齐是自动化的基础。
**第四步:底部添加标准三行**
这三行是项目的“身份证”和“指引”,不可或缺。
See also: mytool(1), config.yml(5)
Report bugs to https://github.com/xxx/mytool/issues
Copyright © 2024 MyTool Authors. MIT License.