遅い→起動時

http://d.hatena.ne.jp/pmint/

設定値

設定値の扱い方。モデリング


条件→設定値リストがあるとする。
条件はプログラムの内部状態だったり、(切り替え可能な設定なら)利用者に選ばれているかどうかだったり。

【設定名】
テキストファイル


【条件】
開いているファイルが.txt


【設定値リスト】
フォントサイズ: 10pt
フォント名: MS ゴシック
IME: オンにする

…みたいに。


設定値は「未定義」と「重複」を可能に。
「未定義」や「重複」に設定するUIを用意するのは難しい。
これは内部の話。


未定義なら利用者に入力させるか用意できる全ての選択肢から選ばせる。
1つの設定に値が重複しているなら、その設定値の中から利用者に選ばせる。


上記の設定に加えて、もしこんな設定もあったら…

【設定名】
固定幅テキスト


【条件】
開いているファイルが.txt


【設定値リスト】
フォントサイズ: 12pt
フォント名: MS ゴシック

…設定名を2つ表示して、利用者に選ばせる。

  1. テキストファイル
  2. 固定幅テキスト

…順番や、表示時からハイライトされてる設定名は別に考える必要あり。


選ばせるときに「保存するかどうか」も選ばせて…
保存するなら選ばれた値で設定値リストを作成。




これでプログラムの状態遷移に設定値を定義する処理を盛り込まなくて良くなる。
Webサイトのログインフォームのように、必要になったときに利用者に問い合わせられるから。


利用者に対する問い合わせにはログインフォームが参考になる。
自動的にログイン(ログイン状態を保持する)→「次回もこの設定を使う」/「常に問い合わせる」…と同じ。
ログアウト→「次回も…」の設定をオフ/「常に問い合わせる」をオン/設定し直す…と同じ。


「自動的にログイン」も「次回もこの設定を使う」も他人と共有しているパソコンで使うと問題になりかねないし。