【コマンド】コマンドの強制終了-Forguncy(フォーガンシー)
はじめに
Forguncyでは、コマンドによって「業務ロジック」部分を作成します。
通常業務ロジックは、特定条件に合致するか、ユーザがどんな応答をするか、どのようなエラーが起こり得るか等の様々な状況判断によって処理が分岐していきます。
このような分岐により、複雑な入れ子入れ子構成ができあがっていきます。
Forguncy8では、後続のコマンドを実行せず、その時点で処理を打ち切るコマンド:「コマンドの強制終了」が用意されています。
このコマンドを使うことで、エラーが発生した時点で処理を打ち切ることができ、それによって、複雑な入れ子構成になったコマンドをシンプルなものにすることができます。
また、明示的に後続のコマンドを実行しない処理を配置することで、思いもかけないエラーの発生を抑止することができます。
■コマンド「コマンドの強制終了」の作成手順
コマンドの編集画面で、「コマンドの強制終了」コマンドを配置します。
このコマンドは、制御フローカテゴリのコマンドです。
■コマンド「コマンドの強制終了」を用いる利点
可読性が高まる
例えば、次のようなロジックをコマンドで記述するとします。
コマンド「コマンドの強制終了」を配置しなくても間違いではありませんが、明示的にエラー処理を行っておらず、可読性が下がります。
拡張がし易い
今度は、テーブルAに加えてテーブルBも対象とする次のようなロジックをコマンドで記述するとします。
コマンドの強制終了を配置していない場合は、必然的に分岐が入れ子になります。
今回は拡張が、1テーブルだけでしたが、例えば5テーブルだったとしたらどうでしょうか。
コマンドの強制終了を配置しない場合は、入れ子階層が非常に深くなってしまいます。
その結果、可読性も下がり、設計ミスのリスクも高まります。
今回の例では単純な処理となっているため、入れ子になっていてもさほど難しく感じないかもしれませんが、実際の業務ロジックはもっと複雑です。
配置する場合は、拡張にあたり階層を入れ子にしないため、シンプルに処理を追加していくことができます。
拡張が容易かつ、可読性が非常に高いです。
コマンド構成への影響を少なく、デバッグ用の改変を行いやすい
業務ロジックをForguncyで実装していくにあたり、コマンド内ですべてのエラーケースを網羅したエラー処理を配置することはあまりありません。
通常は、運用フローや入力規則などで、実際にコマンドが実行される以前にある程度の対応を設計され、それらは「ありえないケース」となります。
例えば、ある区分の値の範囲がマスタで管理されているとします。
このような場合、範囲外のケースは運用上ありえないとして、詳細なエラーチェックを省くことがあります。
しかし、まだデバッグが不十分な設計段階では、不備のあるデータがユーザによって入力されるケースを見逃してしまうことがあります。
例として、次のようなケースを想定します。
コマンドの強制終了を配置しない場合は、不十分な処理になってしまったり、コマンド内の処理構成に大きく手をいれる必要があったりします。
配置する場合は、エラー処理をシンプルに追加することができます。