dkutil_cは主に Acceptor FSM 志向 で組んでいます。

アクセプタFSMとは?
http://ja.wikipedia.org/wiki/%E6%9C%89%E9%99%90%E3%82%AA%E3%83%BC%E3%83%88%E3%83%9E%E3%83%88%E3%83%B3
http://en.wikipedia.org/wiki/Accept_state
より。


自分なりの要約

条件とあわなかったらエラー時の状態に移り、問題が無かったら次の状態に移るといった形の処理。

私はこの形のプログラミングが好きなので(というか、ポリシーなので)このように組んでいる。
だが、アクセプタFSMは
http://d.hatena.ne.jp/studiokingyo/20060824#p1
で指摘したようなポリシーで組むのに頭の中で整理すると混乱したりする。


WikipediaのアクセプタFSMの図をみると分かると思うが*1
この図はエラー条件をはじきつつ成功状態に導いている。
だが、成功条件のみで一気に成功状態に導けるのであればそうプログラムを組むのに越した事は無い。


前の状態に戻らないように組むという点において

  • エラー条件で弾いて成功状態に導こうが
  • 成功条件で通して成功状態に導こうが

成功状態に行くのに穴が無いように組めば良いと言う点が本質なのだが、自分ほど信頼できないテスターはいない。
なるべく穴を空けたくないので条件数の少ない「成功条件で通して」で行くのが吉か!?