みずぴー日記

人間の再起動ボタンはハワイのビーチにある

「なんでreturnするとき一時変数使うの?」まとめ

こんばんは、今日もお仕事だったmzpです。 お仕事してたら、こんな感じのコードを見かけました。

String retValue = null;
if(someCond()) {
  retValue = "x";
} else {
  retValue = "y";
}
return retValue;

その場でreturn "x"とかすればいいのに、わざわざretValueに代入しているのが気になりました。 たしかに、こういうコードやこれを強制するコーディング規約もたまにみますが、そもそもどういう意味があるのか気になったのでTwitterで聞いてみました。

まとめ

returnは1個にしろ派
├─ そういう言語もあるよ派
│ ├─ Pascalがそうだよ派
│ ├─ MATLABもそうだよ派
│ ├─ ホストの時代はだいたいそうだったよ派
│ └─ というかfinnalyがない言語だと必須だよ派
├─ コンパイラが警告出してくるよ派
├─ 読みにくいからだよ派
│ └─ 複雑度のメトリクスも下がるよ派
└─ コーディング規則で決まってるからだよ派
  └─ MISRA-Cがそれだよ派(最大勢力)

元になったtweetまとめ

http://togetter.com/li/620904