-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
slim-lintの5個のルールを調査し、3個を適用、2個を除外したままにした。 #7446
Conversation
@komagata
こちらのルールは、条件式が1行で書けるにも関わらず、複数行使用している場合に警告を発します。 # bad
if condition
do_stuff(bar)
end
# good
do_stuff(bar) if condition 一方で、このルールはLayout/LineLengthで指定された文字数(160文字)を越えない限りは、警告対象となってしまいます。
// before
- if @product.user == current_user && !@product.wip? && !@product.checked? && @product.commented_users.mentor.empty?
= render 'message_for_after_submission'
// after
= render 'message_for_after_submission' if @product.user == current_user && !@product.wip? && !@product.checked? && @product.commented_users.mentor.empty? 上記を踏まえ、対応としては以下の4点があると思っています。
自分の中では順番通りの優先度となっています。ご意見いただけると幸いです。 |
@masyuko0222 なるほどです。 |
e1d5867
to
99a8feb
Compare
@komagata
こちらのルールは、繰り返し文の中で条件式の代わりに # bad
[1, 2].each do |a|
if a == 1
puts a
end
end
# good
[1, 2].each do |a|
next unless a == 1
puts a
end 一方で、Slimだとスタイル用のidやclassを書いてある行が非常に多いため、 上記のコード例だと、if式のままの方が可読性が高いと個人的に思います。 |
@masyuko0222 なるほどです。 |
3b9183d
to
f28de8c
Compare
@nishitatsu-dev |
@masyuko0222 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@masyuko0222
適用した3ルールを確認しました〜
- コードはLGTMなので、Approveします!
- 検討結果について、細かい話ですが、下記だけ修正しておいて下さい〜
Metrics/BlockNestingのネスト数ですが「3つまではOKで、4つ以上がNG」でした。数字の修正お願いします🙏
Slimでは、do~endのendをそもそも書かないので、適用させておいても問題が無いと判断した。
3段以上(変更可能)のブロックのネストを作ると警告が出るルール。適用した理由は以下 ・警告された場合でも十分に修正が可能である ・可読性を高めるための妥当なルールである
Rubyファイルがスネークケースであるかを確認するルールなので、そもそも対象外
f28de8c
to
fb5259c
Compare
ありがとうございます! @komagata |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
確認させて頂きました。OKです〜🙆♂️
Issue
概要
slim-lintで除外(記載)されている以下の5つのルールについて調査を行い、問題がなければ除外せずに適用しました。
調査内容
適用をしたルールは3つです。適用に至った理由は以下のリンクに記載しています。
除外をしたままにするルールは2つです。除外のままに至った理由は以下のリンクに記載しています。
変更確認方法
feature/apply-slimlint-rule-6
をローカルに取り込む。bundle exec slim-lint app/views/ -c config/slim_lint.yml
を実行し、エラー(警告メッセージ)が出ないことを確認する。Screenshot
UI上の変化はないため割愛します。