おさとの雑記帳

日々の学習のアウトプットに使っていきます!

【リーダブルコード】第一章 理解しやすいコード の要約

「簡潔さ」と「安心」のどちらが大切か、またどのようにその判断を行うか

以下のコードを見比べて見ましょう。

# A
n = 3
puts n % 2 == 0 ? "#{n}は偶数です" : "#{n}は奇数です"

#=> 3は奇数です


# B
n = 3
if n % 2 ==0
  puts "#{n}は偶数です"
else
  puts "#{n}は奇数です"
end

#=> 3は奇数です

Aの方が簡潔で、Bの方が実行したいことがわかりやすい気がします。
おそらくBであればプログラミングをやっていない人にもなんとなく意味が伝わるのではないでしょうか?

例のような簡単な条件分岐であれば大きな差はないかもしれませんが、条件や処理が複雑になったときに重要となる考え方が、コードは他人が見たときに最短で理解できるように書く必要があるというものです。

2通りで書いた処理を誰かに見せたときに、より早く理解してもらった方の処理がより読みやすいコードと言えそうです。ここでいう「誰か」はレビュアーだったりあるいは未来の自分かもしれませんね 🤓

極端な例で言うとBは以下のように書けそうです。

# B2
n = 3
if n % 2  == 0; puts "#{n}は偶数です"; else; puts "#{n}は奇数です"; end

B2よりBの方が理解にかかる時間は短そうですね 🧐
より処理が長く複雑になれば、理解にかかる時間は増えていくのは想像に難くなさそうです 👀

このようにわかりやすいコードを目指す際には理解するまでに最短になっているか確認するのが良さそうです 💪