1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

{{{}}}沼にはまらない手法があると聞いて

Last updated at Posted at 2022-09-07
let hoge=1;
for(let i=0;i<=3;i++){
    hoge += i;
    if(hoge<=3){
        console.log("hoge1");
        if(hoge<=-1){
            console.log("hoge2");
            if(hoge<=-2){
                console.log("hoge3");
            }else{
                console,log("hoge4");
            }
        }else if(hoge<=1){
            if(hoge<=0){
                console.log("hoge5");
            }else{
                console.log("hoge6");
            }
        }else{
            console.log("hoge7");
        }
    }else{
        console.log("hogehoge");
    }
}

実行結果

hoge1
hoge6
hoge1
hoge7
hogehoge
hogehoge

うーん、読みづらい。
{}の対応関係が分かりづらい。
そしてついでにhogehoge言い過ぎてゲシュタルト崩壊してしまう。

誰か「中カッコを二重にすれば見やすくなるよ!」

ふむふむ。

ネストに応じて一重中カッコと二重中カッコを交互に使ってみる。

let hoge=1;
for(let i=0;i<=3;i++){{
    hoge += i;
    if(hoge<=3){
        console.log("hoge1");
        if(hoge<=-1){{
            console.log("hoge2");
            if(hoge<=-2){
                console.log("hoge3");
            }else{
                console,log("hoge4");
            }
        }}else if(hoge<=1){{
            if(hoge<=0){
                console.log("hoge5");
            }else{
                console.log("hoge6");
            }
        }}else{{
            console.log("hoge7");
        }}
    }else{
        console.log("hogehoge");
    }
}}

実行結果

hoge1
hoge6
hoge1
hoge7
hogehoge
hogehoge

一応問題なく動いたが・・・あまり見やすくはなっていない?

二重に留めずに、ネスト分中カッコを増やしてみる

let hoge=1;
for(let i=0;i<=3;i++){
    hoge += i;
    if(hoge<=3){{
        console.log("hoge1");
        if(hoge<=-1){{{
            console.log("hoge2");
            if(hoge<=-2){{{{
                console.log("hoge3");
            }}}}else{{{{
                console,log("hoge4");
            }}}}
        }}}else if(hoge<=1){{{
            if(hoge<=0){{{{
                console.log("hoge5");
            }}}}else{{{{
                console.log("hoge6");
            }}}}
        }}}else{{{
            console.log("hoge7");
        }}}
    }}else{{
        console.log("hogehoge");
    }}
}

実行結果

hoge1
hoge6
hoge1
hoge7
hogehoge
hogehoge

もっと増やしてみる

let hoge=1;
for(let i=0;i<=3;i++){
    hoge += i;
    if(hoge<=3){{{{
        console.log("hoge1");
        if(hoge<=-1){{{{{{{{{
            console.log("hoge2");
            if(hoge<=-2){{{{
                console.log("hoge3");
            }}}}else{{{{
                console,log("hoge4");
            }}}}
        }}}}}}}}}else if(hoge<=1){{{{{{{{
            if(hoge<=0){{{{
                console.log("hoge5");
            }}}}else{{{{
                console.log("hoge6");
            }}}}
        }}}}}}}}else{{{{{{{{
            console.log("hoge7");
        }}}}}}}}
    }}}}else{{{{
        console.log("hogehoge");
    }}}}
}

実行結果

hoge1
hoge6
hoge1
hoge7
hogehoge
hogehoge

{{の間に半角スペース入れたら見やすいんじゃ

let hoge=1;
for(let i=0;i<=3;i++){
    hoge += i;
    if(hoge<=3){ {
        console.log("hoge1");
        if(hoge<=-1){
            console.log("hoge2");
            if(hoge<=-2){ {
                console.log("hoge3");
            } }else{ {
                console,log("hoge4");
            } }
        }else if(hoge<=1){ {
            if(hoge<=0){
                console.log("hoge5");
            }else{
                console.log("hoge6");
            }
        } }else{
            console.log("hoge7");
        }
    } }else{ {
        console.log("hogehoge");
    } }
}

結論:{{{}}}沼にハマった。

すみませんでした。

※ちなみにどの場合でも問題なく動きます。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?