1つのif文に、大量の条件がandやorで結合されているソースをたまに見ます。
確かに、1つにまとめることで処理の重複を防ぐことができ、また、プログラムの行数も削減できます。
しかし、あえて複数のif文に分けた方が可読性や保守性が向上するケースが多々あります。
プログラムを綺麗に書くコツやリファクタリングのノウハウなど
よりシンプルで可読性の高いロジックの組み方や、書いてしまいがちな無駄な処理のサンプルなど
1つのif文に、大量の条件がandやorで結合されているソースをたまに見ます。
確かに、1つにまとめることで処理の重複を防ぐことができ、また、プログラムの行数も削減できます。
しかし、あえて複数のif文に分けた方が可読性や保守性が向上するケースが多々あります。
無意味な変数初期化によって、メモリ消費量を無駄に増加させてしまっているコードをよく見かけます。
例えばこのように、変数を一旦初期化した後にメソッドの戻り値や別の変数で上書きしているコードです。
丁寧な書き方だと勘違いしているのかもしれませんが、これは行数とメモリ消費量が無駄に増えてしまうだけで、初期化する意味は全くありません。
条件式の結果をそのままreturnすればいいのに、余計な判定処理を挟んでいるケースをよく見かけます。
そうした方が読みやすい場合も確かにありますが、大抵の場合は可読性とパフォーマンスを低下させるだけの無駄な処理になってしまっています。
例えば、このようなコードです。
三項演算子は使いどころ次第で、可読性を大幅に上げることもあれば下げることもある諸刃の剣です。
たまに、「三項演算子は使うべきではない」という意見も見かけますが、私は一概に禁止すべきではなくケースバイケースだと考えています。
else if文やelse文は、不要なものが大半を占めています。
例えばこちらのソースは一見シンプルで綺麗に見えますが、実際に読んでみると、どういうときにメイン処理が実行されるのかが意外と分かりにくいです。