0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「リーダブルコード」を読んで

Posted at

読んだ本

リーダブルコード

読んだきっかけ

積読書が溜まっており、減らすために読みました汗

内容

「リーダブルコード」という本のタイトルの通り、将来の自分を含む、誰もが読みやすいコードにするため、気をつけることが書かれておりました。大まかにまとめると、以下の3点になると考えられます。

  1. 中身がわかる命名
  2. コードは簡潔に読みやすく
  3. コメントは必要なものだけ

中身がわかる命名

カスタムメソッド、定数や変数といった、個人で名称を考えなければならないものについてです。動物の名前が書いてあるCSVを読み込み、最後に出力する処理があるとします。

ruby
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つの項目に気を使うことがリーダブルなコードになると考えられます。

  1. 中身がわかる命名
  2. コードは簡潔に読みやすく
  3. コメントは必要なものだけ

例を上げることが私自身あまり得意ではないため、気になった方は本書をお手に取ってみてください。大変わかりやすいと思います。また本書を通して、将来管理が楽なコードにしていくために、常日頃から読みやすいコードに心がけていく意識がさらに強まりました。🐹

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?