肯定文の条件分岐・Javaソースコードの書き方

肯定文で条件を書く事

if文の条件指定において、肯定文で条件を書くほうが「わかりやすい」と思います。
その場合、肯定的な条件を優先する書き方があると思います。

if文の例

以下にif文において、「肯定的な条件を優先する書き方」について、例を示します。
プログラムの詳細を理解する必要は、ありません。

//例:URLアドレスが "... /deleteAction.do" の時、ここが実行される。
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request){
        
    ActionErrors errors = new ActionErrors();
        
    if (super.action.equals("copy")){
        ;
    }
    else{
        super.servlet.log("無効なアクション=" + action);
        return errors;
    }

    ....

}
「その通り!」

「~である」と判断・イメージ画像

if文で「条件を肯定文」で書いています。
「action変数が、文字列”copy”と同じであるなら」
と、書いています。

その「肯定的な条件」が成り立つ場合、
;セミコロンだけ、つまり何もせず処理を続ける」
と、書いています。

if文の条件で「同じである」という肯定的な書き方を、優先しています。
そしてif文の条件を肯定文にしたかったから、「;セミコロン」を使っています。

否定文で条件を書く場合

ちなみに次のように、if文の条件を「否定文」を使って、書くこともできます。

if (super.action.equals("copy") == false){
    super.servlet.log("無効なアクション=" + action);
    return errors;
}     

この場合は、
「action変数が、文字列”copy”と同じでないなら」
という書き方になります。

条件が否定文の場合は、
if ( … == false) の「== false」を、省略できません。
※ここでは、否定の等価比較演算子「!」の使用を、考えていません。否定の否定は「わかりにくい」と考えています。

肯定文でプログラムを書いてみましょう

次の事を意識したい場合、優先的に「肯定文で条件」を書くようにしてみましょう。

  • プログラム処理の文脈を、肯定文で理解したい。
    「~であるなら、~する」と理解したい。
  • 条件が2個以上ある時
    「~である、かつ、~である」という文で、処理を理解したい。

    例:
    //aか1である、かつ、bが2である、かつ、cが3であるなら
    if (a == 1 && b == 2 && c == 3){
        //処理を続けます
        ;
    }
    //そうでないなら
    else{
        //処理を中止します
        return;
    }
  • if文の == true を、省略したい。
    例:
    if (action.equals("copy") == true) を、if (action.equals("copy")) と、書きたい。

※この記事は、2004年7月当時の記事になります。

コンピューター
この記事をシェアする

グッズ・メモランダム