TrickPalace
  1. http://www.trickpalace.net/
  2. uidesign/
  3. cui.design.guideline.htm

CUI デザインガイドライン

about "CUI デザインガイドライン"

CUI( Commandline User Interface / Console User Interface / Character-based User Interface )のデザインガイドラインです。趣味や仕事で作成するコマンドラインベース(コンソールベース)のツールのユーザインターフェイスのデザインガイドラインあるいはその叩き台としてご利用頂ければ幸いです。

『こーゆーのもあったほうがいいんじゃないか?』『ここはこーしたほうが』等々のご意見があれば MLBBS でお知らせくださいまし。

Wraith the Trickster CUI デザインガイドラインなるものを見たことがないんで無いよりは、なんかあったほうがいいだろう的なノリでとりあえず作ってみました。

CUI デザインガイドライン 本文(ドラフト版)

エラーは必ず標準エラーに出力

エラーは標準出力でなく、必ず標準エラーに出力するようにしましょう。標準出力と標準エラーが正しく使い分けられていればログの活用方法も広がります。

ヘルプのコマンドライン引数はより多くの形で提供

ヘルプは使い方が分からない人の為のものなので、ヘルプのコマンドライン引数はより多くの形で提供すること。 具体的には "-help", "/help", "-h", "/h", "-?", "/?" で表示されるようにすること(大文字小文字は区別しないこと)。 また、その他のコマンドライン引数の構成上問題がなければ不明なコマンドライン引数が提供された場合や、なにもコマンドライン引数がない場合にもヘルプの表示もしくはヘルプを表示する為のコマンドライン引数の表示を考慮すること。

ヘルプのコマンドライン引数として使われそうな指定にヘルプ以外の意味を持たせない

ユーザが始めて初めてそのコマンドを使用する時に誤ってなにかを実行・処理してしまう危険性があるので、ヘルプのコマンドライン引数として使われそうな指定にヘルプ以外の意味を持たせないこと。

類似するコマンドのユーザインターフェイスに準拠

類似するコマンドのユーザインターフェイスに準拠していればユーザフレンドリになり、また、類似するコマンドと簡単に差し替えて使えるなどの利点が生まれます。

パイプを利用できるように標準入力、標準出力を使う形を考慮する

パイプが利用できればそれだけ便利になります。

エラーにはコマンド名を含める

パイプを併用している場合にどのコマンドが出したエラーかわからなくなるのでエラーにはコマンド名を含めること(パイプでの利用がありえない場合はこの限りではない。)

ヘルプWEBページを用意し、ヘルプ中にそのURLを表示(オプショナル)

文字だけの説明よりは図も交えた説明のほうが親切ですし、そのWEBページがサポート掲示板などに直結していれば非常にユーザの助けに・・・正に"ヘルプ"となります。 ただし、必ずしもヘルプWEBページにアクセスできるとは限らないのでヘルプWEBページを用意しても最低限のヘルプメッセージはヘルプオプションで提供すること。

戻り値(mainの)の利用を考える(オプショナル)

バッチファイルなどから利用されるケースでは意味のある戻り値があれば、それだけ利便性が増します。

ファイル名補完(オプショナル)

Windowsではデフォルトでは拡張子が表示されない為、ユーザには完全なファイル名がわからない可能性もあり、拡張子の補完などを考慮する必要がある。 ただし、その補完がなにか問題を起こしそうな場合は補完を控えること。また、予期せぬ問題を起こさないようにする為、補完は最小限に留めること。

ワイルドカード/正規表現の対応(オプショナル)

ファイル名やその他の指定に対してワイルドカード/正規表現の適用を考慮する。