は最近、私はコードレビューを行うと、この男に出くわした:if文でラップされた3値を悪用して呼び出す条件付きメソッド?
if(!sharePermission.isExpired() ? activePermissions.add(sharePermission) : expiredPermissions.add(sharePermission));
は、基本的にはブール値を返し、割り当ての要件を満たすためにif(...)
文でそれを包むメソッドを呼び出すif文三元を使用します。これは多かれ少なかれ有効ですか
if(!sharePermission.isExpired())
activePermissions.add(sharePermission);
else
expiredPermissions.add(sharePermission);
本当にコードを1行に凝縮する必要がある場合は、代入が実際に発生している場合、if(...)
に割り当てられるスペースはありますか?
私はそれらのいずれかのファンではなく、ちょうど興味があります。
それは確かにもっと奇妙だ「よりも、この多かれ少なかれ有効です」。私は何が起こっていたかを理解するためにこれを数回読まなければならなかった。 –
'(sharePermission.isExpired()?activePermissions:expiredPermissions).add(sharePermission);'についてあなたが削除したコメントを見ました。投稿したアイテムがチーム環境の反パターンのように感じられることに同意するでしょう。あなたはもう少しエレガントでした。 – saganaut
私はそれが特に好きではないので、削除しました。 'List list = isExpired()が好きですか?期限切れ:アクティブ。 list.add(sharePermission); '。 –