ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

細かく分けているので直しやすい

項目Aの選択によって、項目Bの選択肢の有効/無効を切り替えるシステムがあります。
項目AでYESを選択すると、項目Bの選択肢B2とB3が有効になり、項目AでNOを選択すると、項目Bの選択肢B2とB3が無効になります。
項目AでYESとNOのどちらも選んでない場合は、YESを選ばれていないので、項目Bの選択肢B2とB3が無効になります。
項目Bの選択肢B1は、有効なままです。

f:id:AJYA:20170504001814j:plain
photo credit: Christiaan Colen JavaScript source code ransomware via photopin (license)

条件を追加

このシステムに、項目Cの選択によって、項目Bの選択肢の有効/無効を切り替える条件が追加になりました。
項目CでYESを選択すると、項目Bの選択肢全てが無効になり、項目CでNOを選択すると、項目Bの選択肢は項目Aの選択状態に従います。

一見条件が追加され複雑になります。
複雑なようで実際は、項目の選択によって他の項目の有効/無効を切り替える関数が、それぞれの項目ごとに用意してあるので、同様な処理をする関数を追加することになります。
そのおかげで、関数を追加して連続して呼び出すようにすれば、条件を追加することができます。


基本に忠実に関数に分けられるところは分けていたおかげで、楽に対処できました。
こういう基本を守っていないと、後々苦労するのがわかっているので、一手間かけてでも基本は守るようにしています。