三項演算子はアンチパターン?
『三項演算子』でずっと思ってるのが、
三項演算子のネストとかで『クソコードだー』ってネタにされすぎたせいで、
『よくわからないけど三項演算子は悪だ!』
『三項演算子使うのはアンチパターン!』
みたいに言う人いて悲しい(´・ω・`)
代入とかで使うと、めっちゃ見やすくなりますよね……?
なので書いてみた
ということで、こうすると見やすくない?みたいなのを書いてみました。
いろいろ反論あるかもですが、多くを語るよりコードで示してみます。
■before
if ($flag) { return "x"; } return "y";
■after
return $flag ? "x" : "y";
return $flag ? "x" : "y";
■before
if ($user->role != "user") { $name = $user->name; } else { $name = "default"; }
■after
$name = $user->role != "user" ? $user->name : "default";
$name = $user->role != "user" ? $user->name : "default";