今回のポストは初心者(筆者)がRuby on RailsでPRを作成し、現役エンジニアの方にみてもらった際によくアドバイスしていただいた点に関して備忘録を兼ねてまとめてみたいと思います。
注意された点を分類してみたところ大きく分けると以下のように分けられました
1. コードの綺麗さ
2. コードを書く場所、ファイル構造
3. アプリケーションの設計
# コードの綺麗さ
###例1) いらないところに空白が入っている
筆者が時々あったのは<%=
や<%
の後にスペースを2つ入れてしまってることが多かった
意識すると防げるはずです
<%= render 'exmple' %>
###例2) ネストの深さが違う
ネストが重なっている場合に、内側のコードを修正し、ネストが浅くなったことに気づかずに放置
<dev>
<div>
<p>test<p>
</div>
<%= render 'exmple' %>
</dev>
# コードを書く場所
###例1) Viewのpartialを置く位置
一概には言えないですが、基本的にapplication.rb
で使うpartialは'view/layouts'ディレクトリの中、複数のViewで共有した使うpartialはview/shared
ディレクトリの中、あるモデルの中でしか使わないものはそのモデルの名前のついたview/モデル名
ディレクトリの中に置くことが多いそう。
###例2) JavaScriptのコード内での読み込み位置
こちらも調べてみると、色々と意見が割れることもあるようですが、近年JavaScriptのファイルが肥大化しており、headの中で読み込みをしてしまうと、headの読み込みが終わるまでbodyの読み込みがされないことによりページ自体の表示が遅くなってしまわないようにbodyの一番下にタグを置くことが多いそう。
、
# アプリケーションの設計
###例) 何をリソースとしてコントローラーを作成するのか
現在、Webサービスの設計モデルとして主流であるREST(REpresentational State Transfer)fulな設計となるようにリソースをしていなくてはいけません。CRUDで出来るだけ操作できるような設計にしていないと指摘を受けることが多いです。
(おまけ)PRの際によく使われるキーワード
#####[LGTM] Look good to me
レビュワーからみて、問題ないコードであるという意味。直訳すると「私にはよく見える(思える)」。
もらえるとすごい嬉しいです
使用例として、「○○さんのPR、LGTMです!!」みたいな感じです。
#####[IMO] In my opinion
「私の意見では」の意味。
プロジェクトのポリシー等あるので一概には言えないけども、「こうしたらもっとわかりやすい」や「こうすることが多い」ということを伝えるコメントにつきます。
#####[nits]Nitpicks
些細な指摘。修正してもらう必要はないけど、指摘しておきた箇所でこのマークの入ったコメントがつくことがあります。半角スペースがないなどの細かい指摘。
nitとは「シラミ(ケジラミ、トコジラミ等)の寄生虫の卵や幼虫のこと。特に、人の髪につくシラミ」のことをいうようです。
nitpicksの語源はシラミの卵を潰すところからきているようです。
今後も気づいたこと等、順次追加してきます!!
参考文献
Nitの意味
https://en.oxforddictionaries.com/definition/nit
Nitpicksの語源
http://www.worldwidewords.org/qa/qa-nit1.htm