###
3 固定引数とは何か

固定引数とは、プログラムを動作させる上で絶対的に必要な情報となる引数です。

よいユーザインタフェースとは、可能な限り少ない固定引数をもつものです。 プログラムを正しく動作させるために 17 個もの別個の情報が必要だとしたら、 その方法 はさして問題にはなりません --ユーザはプログラムを正しく 動作させられないうちに諦め、立ち去ってしまうからです。 ユーザインタフェースがコマンドラインでも、設定ファイルでも、GUI やその他の 何であっても同じです: 多くの要求をユーザに押し付ければ、ほとんどのユーザはただ 音をあげてしまうだけなのです。

要するに、ユーザが絶対に提供しなければならない情報だけに制限する -- そして可能な限りよく練られたデフォルト設定を使うよう試みてください。 もちろん、プログラムには適度な柔軟性を持たせたいとも望むはずですが、 それこそがオプションの果たす役割です。繰り返しますが、設定ファイルのエントリ であろうが、 GUI でできた「環境設定」ダイアログ上のウィジェットであろうが、 コマンドラインオプションであろうが関係ありません -- より多くのオプションを実装すればプログラムはより柔軟性を持ちますが、 実装はより難解になるのです。高すぎる柔軟性はユーザを閉口させ、コードの維持を より難しくするのです。