Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | CLI | Delight Casual Users | Choosing Names for Options and Commands

概要

書籍 Build Awesome Command-Line Applications in Ruby2

Delight Casual Users

詳細

Short-form optionは何のためにあるか?
=> アプリケーションを使い慣れたユーザーが少ないタイプで素早く実行するため。

Long-form optionは何のためにあるか?
=> システムの保守担当者が,ドキュメントを見なくてもオプションが何をするか理解できるようにするため。
例えば、該当アプリケーションに精通していない保守担当者が cron を管理していたとします。

Short-formで記述されていた場合、アプリケーションのヘルプを見ないと内容がわかりません。
例えば、私が自作した個人のTODOを管理する tudu gem があります。

tudu tasks -c

で、タスクの内容をカテゴリの見出しつきで一覧表示するのですが、

  • c が何を意味するかはドキュメントを見ないとわかりません。

そこで、Long-form option を使うとどうでしょう?

$ tudu tasks --category

ヘルプを読まなくてもオプションの意味がわかるようになりました。