2018-08-28

anond:20180828160234

言語によってはswitchswitchが使いづらい場合は極力ifだけみたいな感じ

 

func hoge {

 if (条件a) {

  処理a

  return

 }

 if (条件b) {

  処理b

  return

 }

 if (条件c) {

  処理c

  return

 }

 if (条件d) {

  処理d

  return

 }

 // ここに到達しないことを確認

}

 

1ブロックだけ見れば基本修正できる状態を保つ(独立した状態

else if一切使わないわけではないし、重複した条件が続く場合は工夫するけど

else ifが10個繋がるシーンとかは避ける

改修案件でちょいちょい見かけて訳わからなくなって死ぬ、影響範囲広すぎ

 

__

 

すまん上記変だな

returnが余計だが、return抜いても独立してるように見えない

記事への反応 -
  • ※微修正した   あまり語られないがelse ifは割とクソだと思う 数年前からかなり避けてる   if (条件A) {  処理A } else if (条件B) {  処理B } else if (条件C) {  処理C } else {  処理D ...

    • え、代替は? switchでもそれは同じだよね

      • 言語によってはswitch、switchが使いづらい場合は極力ifだけみたいな感じ   func hoge {  if (条件a) {   処理a   return  }  if (条件b) {   処理b   return  }  if (条件c) {   処...

        • 処理Cが実行されるかどうかを考えようとすると、条件Aと条件Bと条件Cを見なければならない は変わらないのでは?

          • ああすまん、そうなるなこれ return が余計 でもreturn抜いてもそう見えちゃうな、端的に書けないのか   条件は全部独立を保った状態(要はswitch状態)にして作る どれかにしか入らない...

        • 条件A、条件Bを見ないと条件Cが判定されるかどうかわからない点は変わらなくね?

    • 処理Aと処理Bを見なければならない 条件Aと条件Bさえ見ればよくない?

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん