Tbpgr Blog

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

Ruby | CLI | Delight Casual Users | Preventing Destructive Actions by Default

概要

書籍 Build Awesome Command-Line Applications in Ruby2

Delight Casual Users

詳細

UNIXの rm は破壊的なコマンドの良い例です。
rm は指定ファイルを削除します。

デフォルトの rm はHelpfulなだけではなく、破壊的ではありません。
rm のみだと削除操作は実行されません。

同様にもしあなたがファイルを削除するアプリケーションを作成するなら、
同じようにデフォルトで破壊的な操作をしないように配慮すべきだ。
代わりに特定のオプションを指定した際に破壊的操作を許すようにする。

そして、破壊的な操作が発生した旨を標準出力もしくは標準エラーに出力する。