読んだ本
読んだきっかけ
積読書が溜まっており、減らすために読みました汗
内容
「リーダブルコード」という本のタイトルの通り、将来の自分を含む、誰もが読みやすいコードにするため、気をつけることが書かれておりました。大まかにまとめると、以下の3点になると考えられます。
- 中身がわかる命名
- コードは簡潔に読みやすく
- コメントは必要なものだけ
中身がわかる命名
カスタムメソッド、定数や変数といった、個人で名称を考えなければならないものについてです。動物の名前が書いてあるCSVを読み込み、最後に出力する処理があるとします。
def load_animals_from_csv
animals = []
CSV.foreach("animal_sample.csv") do |animal|
animals << animal
end
puts animals
end
load_animals_from_csv
と命名するとこで、csvからの読み込みと、その出力を行うというのを端的に表してくれるから命名は大事ということでした。
コードは簡潔に読みやすく
時々あるとは思いますが、条件文のネストが続いたコードは見たことないでしょうか?「結局何分岐したいねん」と思うアレです。これは、そういうことをやめたら一気にコードの保守性は上がって、人間にも読みやすくなるよということです。条件文に限ったことではないですが、長ったらしいコードは機能ごとに処理をもう少し分けられないか、共通部分をまとめられないかを見極めることが大切とのことでした。
コメントは必要なものだけ
最近見たコードで以下のようなものがありました。
# ユーザーの一覧画面
def index
@users = User.all
end
これはRailsのルールに乗っ取って記述しているコードで、メソッドだけで判断がつくため、むしろ不要なコメントになってしまいます。では、どんな時にコメントが必要かということですが、以下の時です。端数を切り上げている理由をはっきりとコメントを残しておくことにより、意図をはっきりさせています。
# 端数を切り上げ、丸誤差を防ぐ
def tax_total(subtotals)
(subtotals.sum * BigDecimal("0.10")).ceil
end
まとめ
本書では詳細に書かれていますが、まとめると3つの項目に気を使うことがリーダブルなコードになると考えられます。
- 中身がわかる命名
- コードは簡潔に読みやすく
- コメントは必要なものだけ
例を上げることが私自身あまり得意ではないため、気になった方は本書をお手に取ってみてください。大変わかりやすいと思います。また本書を通して、将来管理が楽なコードにしていくために、常日頃から読みやすいコードに心がけていく意識がさらに強まりました。🐹