問題タブ [rubocop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - クラスクラス a::b::c の rubocop オフェンスを修正する方法
次のファイル lib/a/b/c.rb があります
今、私はrubocopスタイルを使用しています
私はこれでrubocopの攻撃を受けています
コードを次の違反に更新すると修正されます
スタイル 1
スタイル 2
Style 2
ファイルの1つで使用しているように使用する必要がrequire 'a'
あると思います。
このタイプと違反を修正する方法とその理由を教えてください
ruby - RuboCop では、エラーと致命的な重大度の違いは何ですか?
RuboCopの重大度「エラー」と「致命的」の違いは何ですか?
重大度に関するドキュメントには、
各警官には、所属する部門に基づいたデフォルトの重大度レベルがあります。レベルは、Lint の場合は警告であり、その他すべての場合は規則です。警察は重大度レベルをカスタマイズできます。許可されるパラメーターは、リファクタリング、規則、警告、エラー、および致命的です。
上記の一般的なルールからの例外が 1 つあります。それは Lint/Syntax です。これは、他の COP が呼び出される前に構文エラーをチェックする特別な COP です。無効にすることはできず、その重大度 (致命的) を構成で変更することはできません。
これは致命的がエラーよりも重大であることを示唆していますが、有効な Ruby ではないコードを記述でき、「エラー」レベルの違反しか生成しません。
ruby - 割り当て分岐条件が高すぎます
初期化時に 1 ~ 8 個のパラメーターを取る単純なクラスがあります。アクセサーをこれらに設定して、後で使用します。Rubocop は、ABC が高すぎるという理由で私を逮捕しようとしていますが、私が行ったことに実際に何か問題があるかどうかはわかりません。これは、初期化時に検査を無効にするだけの場合ですか?
サイズを小さくすることについての私の唯一の考えは、初期化時にすべての attr_accessors を反復処理し、対応するシンボルが has に渡されているかどうかを確認し、そうであればそれを割り当てることです。
しかし、これはちょっと弱いようです。
ruby - rubocoがrequire: falseをGemfileで推奨するのはなぜですか?
rubocop の readme には次のように書かれています。
バンドラーを使用して RuboCop をインストールする場合は、Gemfile でそれを要求しないでください。
gem 'rubocop', require: false
なぜだめですか?
いくつかのプロジェクトで、バンドラーに rubocop を要求させましたが、問題は発生していません。group :development, :test
また、本番環境では必要ないため、ブロックに rubocop を入れました。
ruby - ライブラリ内の行の長さを自動修正する
私は巨大なプロジェクトに取り組んでおり、すべてのコードを 1 行あたり 80 文字に準拠させることにしました。これは、C のラッパーを使用した Ruby ベースのプロジェクトです。Ruby の場合、Rubocop を使用することにし、次のコマンドを使用することにしました。
行の長さが 80 文字を超える 1,714 個のエラーが発生しました。それ以外にも、Rubocop によって検出された他の多くのエラーがありましたが、ここでは無視したいと思います。
C と Ruby の両方で 80 文字の制限を満たすために、すべての行の長さの違反のみを自動修正する最も簡単な方法を探しています。