先日、大手のエンジニアさんにコーディングテストのレビューをしてもらった。
その際に、"コメントは何をしているかよりも何故そうしているのかを記述すると良いです。"と
フィードバックを頂いた。
現在のインターン先に参加してから、多々"なぜそうしているのか"が分からずに苦労した経験があるため、whyの部分を書く方が良いなと納得した。
その後、頂いたフィードバックをインターン先のチームに共有した文章を、
ほぼそのまま載っけただけの内容です。
原則に従っていない書き方をする場合は
コメントは”何をしているか”よりも”何故そうしているのか”を記述する方が良い
(whyが不明な方だと初見の人にとって混乱を招き、様々なファイルを見て修正する必要が出てくるため)
例.1
- Gemfileにバージョン指定をする場合
↓バージョンを指定する明確な理由がある場合はその理由をコメントとして書いておく
Gemfile
# 4.6以上にするとxxxでエラーが発生する。以下のissueが解決したら最新版を使う
# https://github.com/plataformatec/devise/issues/9999999
gem 'devise', '~> 4.5.0'
こちらの記事 より引用
例2.
- ぼっち演算子を利用する場合
# Reporting APIのデータが 0 の場合(サイトに誰も閲覧しなかった場合)はnilになるため、ぼっち演算子を利用
data = response.reports.first.data
data.rows&.each do |row|
...
end
例3.
- 本来、if文内で記述しないとエラーが発生すると考えられるコードを、if文外に記述している場合
# Reporting APIを叩く際に正規表現で抽出することでnilの可能性がない
# そのため、if文の外で実行している
page_view, unique_user_count = row.metrics.first.values[0..1].map(&:to_i)