Closed pocke closed 1 year ago
MSG に「この場合は除外しても良いよ」と書いてあるケースを見つけました。 https://gitlab.com/gitlab-org/rubocop-gitlab-security/blob/v0.1.0/lib/rubocop/cop/gitlab-security/send_file_params.rb#L21-23
「この場合は除外しても良いよ」も書いておかないと指摘を避けるために意味の分からないコードになることがあるし、いちいち詳細なコメントが出てきても困るからオプションにしておきたいとも思うので、 justifications
はとてもヨサソウ。
角度が違うかもしれませんが、偽陽性を持つ cop は、safe を false で示し、Safety というセクションになぜ安全でないかが記述されるようになっています。以下は一例です。 https://docs.rubocop.org/rubocop/1.45/cops_style.html#stylearraycoercion
RuboCop において、提案にある justification
相当にあたるのではと思います。
たとえば、 querlyには、警告にjustification という項目が存在します。querly公式のサンプルにjustificationsがのってなくてつらいのですが、こんな感じです。
このようにjustificationがあることで、Lintがfalse positiveを出した場合にユーザーがそれをfalse positiveだと判断できるようになります。 現状ユーザーが「本当にこの警告に従うべきなのか」と思った時に、RuboCopは参考になるような情報をなにも提供していないので、これによって「従わなくても良い」ケースに関してはそう言えるようにしたいと思っています。
https://teratail.com/questions/99932 は、「justificationがあれば質問をせずすぐ解決できた」実際の事例です。こういうことは結構たくさん起きていると思うので、この機能を追加することで迷ってしまう体験を減らしたいなーと思っています