-
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のルールを適用する6 #7252
Comments
複数人で「slim-lintのルールを適用する」Issueに取り組んでおり、重複しないように以下のIssueで分担について話し合っています。 |
こちらのIssueでは、以下のルールについて調査し、問題がなければ適用をします。 - Layout/BlockAlignment
- Metrics/BlockNesting
- Naming/FileName
- Style/IfUnlessModifier
- Style/Next |
Layout/BlockAlignmentLayout/BlockAlignmentのルールを適用させました。 こちらのルールは、ブロックの Slimでは条件分岐・繰り返し文・ヘルパーメソッドでは |
Metrics/BlockNestingMetrics/BlockNestingのルールを適用させました。 Slim内のRubyコードで、ブロックを4段以上ネストをすると警告文が表示されます。 現状ルール違反をしているファイルはありませんが、下記2点の理由により、ルールを適用させても問題がないと判断をしました。
|
Naming/FileNameNaming/FileNameを適用させました。 こちらのルールは、Rubyのソースファイル名がスネークケースとなっているかを確認します。 Slimファイルはそもそも監視対象外であり、影響が無いと判断し適用しました。 |
Style/IfUnlessModifierStyle/IfUnlessModifierは除外したままにします。 こちらのルールは、条件式が1行で書けるにも関わらず、複数行使用している場合に警告を発します。 以下はコード例です。 # bad
if condition
do_stuff(bar)
end
# good
do_stuff(bar) if condition なお1行で書き換えた際に、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? 上記はPR内の会話でkomagataさんに相談の上、決定した事項になります。 |
Style/NextStyle/Nextは除外したままにします。 こちらのルールは、主にループ文内の条件分岐において、nextで代用できる箇所について警告を出します。 以下はコード例です。 // bad
- @tags.each do |tag|
- if tag.present?
| Hoge
// good
- @tags.each do |tag|
- next if tag.blank?
| Hoge ですが、Slimだとスタイル用のidやclassを書いてある行が非常に多いため、eachブロック開始から該当の行まで数十行を挟んでしまうこともあります。 例えば、以下のコード例はeachブロック開始は36行目、警告対象の行が93行目となっています。 上記はPR内の会話でkomagataさんに相談の上、決定した事項になります。 |
@komagata |
slim-lintの指摘するルールの内、多くのルールを除外する設定にしている。(下記)
bootcamp/config/slim_lint.yml
Lines 9 to 42 in 00faade
このIssueでは5つのルールを有効化し、指摘されるviewファイルをルールに沿うように修正してください。
1Issueにつき5ルールとします。
また、ルールによっては有効化することが現実的で無いものも存在するかもしれないのでその場合は、どういうルールなのかを調べて、@komagata , @machida に連絡し、そのルールをこのプロジェクトに適用するのか議論してください。
実際には適用しないとしても、調査の作業を持ってIssueは完了とします。
The text was updated successfully, but these errors were encountered: