#はじめに
読みやすいコードを書くことでコードレビューの効率が上がりますし、後々の変更もしやすくなります。
逆に読みにくいコードは読む時間がかかりますし、バグも混入しやすくなり、原因特定に時間がかかってしまいます。
上記のような理由で、業務の効率を高めるために、可読性の高いコード
を書くことは非常に重要です。
#参考文献
リーダブルコード要約とリーダブルコード要約の活用方法
https://qiita.com/AKB428/items/20e81ccc8d9998b5535d
脱初心者の第一歩!「これは!?」と思わせるイケてるコードの書き方【初心者向け】
https://note.com/cohki0305/n/n061d6fca4b01
#読みやすいコードの書き方
###1.変数に分かりやすい名前をつける
基本的に英語で命名し、ぱっと見ただけで分かりやすい名前をつけます。
#悪い例
str = "suzuki" #何が入っているか分からない
time = 10 #単位がないので分かりづらい
#良い例
name = "suzuki" #何が入っているかイメージ出来る
time_sec = 10 #単位があって分かりやすい
英語が思いつかない場合はcodicで調べましょう!
https://codic.jp/engine
###2.列を揃える
#悪い例
get '/login', to: 'sessions#new'
get '/auth/:provider/callback', to: 'sessions#twitter'
post '/login', to: 'sessions#create'
post '/logout', to: 'sessions#destroy'
上記のままだと、ごちゃっとして見づらいです。
以下のように修正します。
#良い例
get '/login', to: 'sessions#new'
get '/auth/:provider/callback', to: 'sessions#twitter'
post '/login', to: 'sessions#create'
post '/logout', to: 'sessions#destroy'
こうすれば見やすいですし、分かりやすくなります。
過剰にやりすぎると手間になるので、やりすぎはよくありませんが
出来る範囲で揃えるようにしましょう。
###3.適切なコメントを書く
#不適切なコメント
- コードを見てすぐに分かること
- 関数名がおかしいなどの修正可能なものを補うコメント
#適切なコメント
- コメンタリーを入れる(こういう背景でこうなったみたいな理由を説明する)
- 欠陥にコメントをつける(TODOやFIXMEを仕様)
###4.マジックナンバーは使わない
マジックナンバーとは、プログラムに突然出てくる謎の数字のことです。書いた本人しか分からない魔法の数字です。
#悪い例
apple_price = 110
if apple_price < 100
puts "買う"
else
puts "買わない"
end
急に100という数字が出てきました。
何を基準にしている数字なのか分からないので
名前をつけましょう!
#良い例
my_pocket_money = 100
apple_price = 110
if apple_price < my_pocket_money
puts "買う"
else
puts "買わない"
end
「所持金が足りないので、買えない」ということが理解できます。
###5.同じコードを繰り返さない
DRY(Don't repeat yourself)を守り、むやみにコードをコピペしたりしないようにしましょう。
量が増えることで、読む時間がかかり、修正にも時間がかかってしまいます。
コピペしたときは、まとめれるか考えましょう。
まとめる方法
- モデルにメソッドを定義する
- ヘルパーにメソッドを定義する
以下、参考文献です。
参考文献:DRY原則をもう一度 -コンカレント・エンジニアリング-
###6.if文のネストを浅くする
#悪い例
if user.name == "suzuki"
if user.age == 20
if user.male
puts "知り合いです"
end
end
end
ネストが深すぎると読みにくくなってしまいます。
多くても2重までにしましょう。
#良い例
return unless user.name == "suzuki" && user.age == 20
if user.male
puts "知り合いです"
end
returnはif文から抜け出すときによく使われます。
以上のようにすると、ネストを浅くすることが出来ます。
#終わりに
少しでも読みやすいコードを書けるように、日々意識することが大切だと思うので、可読性の高いコードが書けるように日々精進していきます。