レビュー砂漠に Badge という花を添えようZE★

レビューやってて・・・レビューされたときのGitHubのコメント見て思うんだよね・・・

***「感情がないぜ...」***

`Reviewdog` とかの静的解析ですら 🐶 とかつけてこちらの感情を和ませようとしているのに...
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33505/c91b8e3a-83d3-7f1d-32ed-f2706fcfef99.png">

***「人間のレビューのほうがロボットに見えるぜ...」***
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33505/96e7588c-2118-93f4-fc8b-d3121c9c9921.png">

そもそもレビューの目的はクオリティを高めることにあって仲良しクラブのようなものはいらないんだけど、それでも温度感って伝わりづらいし、なにより<font color="red">どうして欲しいのかが誤って伝わる可能性もある。</font>

実際次のどれを指しているのかは、受け取り方が様々ですね。

1.　「2」とはどういう意味なのか、と「 <font color="red">_質問_</font> 」をしている
2.　何を意味するのか分かりづらいので、なるべく直したほうが良いという「 <font color="red">_細かい指摘_</font> 」をしている
3.　ここは必ず直してほしいという「 <font color="red">_修正_</font> 」を求めている

ある程度はコメントでカバーできるだろうし、`must` とか `nits` を入れれば「コメントの意図」も伝わると思う。（よく見たらまた "2" とか入れてな...数字に呪われてんのか？
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33505/ecec5021-fc32-a064-bb25-e4adc20d5e16.png">

けどね、ソースレビューは「こーしろ」「あーしろ」「ここはこーだ」など指摘が多く、実装者の尊厳を踏み潰していく作業。稲穂のようにレビューのたびに踏みつけては成長してくれるだろうが、果たして今の草食性の時代に耐えられるのか！？

私もペーペーだった時代、とある先輩からのレビューコメントに 「***キモい、NG***」 とだけ書いてあった時は絶望しかなかった。（もはや何が悪いのかすら伝わらない悪意の塊に感じた


## [Shields.io](https://shields.io/badges) の Static Badge を使って、レビュー砂漠に花を添える

はい、心なしか文章まで優しさを感じさせますね
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33505/68d21523-fd66-e2c3-1798-bf6382a5fcc9.png">
ただこの Badge を毎回コピーして使うのも大変ですよね？

そこで [Text Blaze](https://chrome.google.com/webstore/detail/text-blaze-templates-and/idgadaccgipmpannjkmfddolnnhmeklj) をつかって、<font color="red">コードスニペット化</font>させよう
<img width="800" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33505/01e287df-fa0a-608c-df88-f81c870bdda2.png">

スニペット化させることで、レビュー時に即時 `Badge` を反映させることができるぜ！

表にまとめると次のとおり（私は暖色系は必須、寒色系は任意で分けてます
|ラベル|対応可否|意味|バッジ|
|-|-|-|-|
|must|<font color="red">必須</font>|必ず直してほしい|![must-badge](https://img.shields.io/badge/review-must-critical.svg)<br/>`![must-badge](https://img.shields.io/badge/review-must-critical.svg)`|
|want|<font color="blue">任意</font>|できればやってね|![want-badge](https://img.shields.io/badge/review-want-blue)<br/>`![want-badge](https://img.shields.io/badge/review-want-blue)`|
|nits|<font color="red">必須</font>|細かい指摘（スペースとか改行とか）だけどよろしく|![nits-badge](https://img.shields.io/badge/review-nits-orange.svg)<br/>`![nits-badge](https://img.shields.io/badge/review-nits-orange.svg)`|
|typo|<font color="red">必須</font>|タイポ（nitsでもいいけど `nits typo` と書くよりも分かりやすい）|![typo-badge](https://img.shields.io/badge/review-typo-orange.svg)<br/>`![typo-badge](https://img.shields.io/badge/review-typo-orange.svg)`|
|ask |<font color="red">必須</font>|（質問）確認させて|![ask-badge](https://img.shields.io/badge/review-ask-yellow.svg)<br/>`![ask-badge](https://img.shields.io/badge/review-ask-yellow.svg)`|
|imo |<font color="blue">任意</font>|自分ならこうするけどどう？|![imo-badge](https://img.shields.io/badge/review-imo-green.svg)<br/>`![imo-badge](https://img.shields.io/badge/review-imo-green.svg)`|
|next|<font color="blue">任意</font>|次でいいよ、Issue化|![next-badge](https://img.shields.io/badge/review-next-skyblue.svg)<br/>`![next-badge](https://img.shields.io/badge/review-next-skyblue.svg)`|
|good|<font color="blue">任意</font>|これは良い実装だ！|![good-badge](https://img.shields.io/badge/review-good-success.svg)<br/>`![good-badge](https://img.shields.io/badge/review-good-success.svg)`|
|memo|<font color="blue">任意</font>|とりかえず何かコメントするとき|![memo-badge](https://img.shields.io/badge/review-memo-lightgrey)<br/>`![memo-badge](https://img.shields.io/badge/review-memo-lightgrey)`|

## 最後に

今回はソースレビューで [Text Blaze](https://chrome.google.com/webstore/detail/text-blaze-templates-and/idgadaccgipmpannjkmfddolnnhmeklj) を使いましたが、これは他にも汎用性のある便利なツールなので、他の使い方はまたどこかで...