開發命令列工具的 12 個最佳實踐
簡評:設計良好的命令列應用是極富生產力的工具,本文介紹了開發命令列工具的 12 個最佳實踐

CLI 是構建產品的絕佳方式,與 Web 應用不同的是它需要的時間更少,並且功能更強大。使用Web,你可以執行開發人員編寫的任何操作,使用 CLI,你可以輕鬆地將多個工具混合在一起以執行更加高階的任務,而這需要更多的專業知識才能使用,但仍然適用於管理任務、高階使用者任務或開發人員產品。
在 Heroku,我們提出了一種稱為 「12-factor app」 的方法,這是一套旨在製作易於維護的優秀 Web 應用程式的原則。我們還構建了一個名為 oclif 的 CLI 框架,旨在遵循這些原則使用Node 構建出色的 CLI 應用。
本著這種精神,在構建下一個 CLI 時,請記住以下 12 個因素:
- 良好的幫助命令是必不可少的(Great help is essential)
- 傾向於使用選系代替引數 (Prefer flags to args)
- 明確當前的版本(一般是 --version/-V)(What version am I on?)
- 關注流處理(輸入輸出流和重定向)(Mind the streams)
- 處理錯誤(Handle things going wrong)
- 顏控(Be fancy!)
- 儘量提示(Prompt if you can)
- 使用表格(Use tables)
- 唯快不破(Be speedy)
- 鼓勵開源貢獻程式碼(Encourage contributions)
- 清晰的子命令(Be clear about subcommands)
- 遵循 ofollow,noindex">XDG 規範 (Follow XDG-spec)