📝
見やすい if 文
プログラミングにおいてコードの可読性と変更容易性を保つことは極めて重要です。そのため、特に注意すべき記法として if
文のワンライナーとブロック記号 {}
の省略があります。
if
のワンライナーを避けるべき理由
具体的には以下のような記法です。
if (x) statement
責務の分離と可読性
ワンライナーの問題点は、一行の中に「判断」と「処理」という二つの異なる責務が混在してしまうことです。これにより、コードを読む際に常にif
の直後に何が書かれているのかを気にしなくてはならず、認知的負荷が高まります。
また、コード変更の際にワンライナーで書かれた部分の範囲が曖昧になり、思わぬミスを招く可能性があります。
{}
の省略も避ける
ブロック 同様に、命令ブロックを示す {}
の省略も避けるべきです。特に文法が自由な言語では、ブロックを明示的に書くことでコードの範囲が明確になり、誤解やミスを防ぐことができます。
例外ケース
もちろん例外的に許容されるケースもあります。それは、分岐の目的が非常に明確で簡単に読み飛ばせる場合です。例えば、関数の冒頭で入力値の検査(事前条件検査)を行うようなケースです。
fun isTeenAge(age: Int): Boolean {
if (age < 0) { throw Exception() }
if (age > 150) { throw Exception() }
return (age >= 12) && (age <= 19)
}
また、ログの出力やデバッグ用の簡単な補助的コードもワンライナーとして許容されます。(個人的には好きではありませんが。)
fun processSomething(): Int? {
val result = executeA();
if (result != null) { println(result) }
return result
}
ほか、一連の記述における視覚的な類似性を活用する場合があります。
fun convertCodeToText(code: Int): String? {
if (code == 1) { return "spring" }
if (code == 2) { return "summer" }
if (code == 3) { return "autumn" }
if (Code == 4) { return "winter" }
return null
}
結論
コードは明確に責務を分離し、可読性と変更容易性を維持することが大切です。手軽に見える if
のワンライナーやブロックの省略は避け、長期的な保守性を考えた明示的な記述を心がけましょう。
コードは常に「読み手のために書く」という意識を持つことが重要です。
この記事は、文責者の骨子からAIが生成した文章を元にしています。
Discussion