###
6.20.1.3 固定引数はどう使うのでしょうか？

上の例について補足します: 固定引数とは、プログラムを動作させる ために、絶対的にかつ明確に必要とされる情報の断片です。

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

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