Відповіді:
Існує спосіб ігнорувати поліцейських за лінією.
Існує також спосіб зробити це через файл конфігурації.
Запустіть, rubocop --auto-gen-config
і він створить файл, який ви можете використовувати для відключення правопорушень.
Команда також дає підказку, що робити для завантаження цих параметрів.
На основі рядка за рядком ви також можете вмикати та вимикати поліцейських.
# rubocop:disable RuleByName
This is a long line
# rubocop:enable RuleByName
Ви також можете одночасно робити кілька правил у своєму коді.
# rubocop:disable BlockComments, AsciiComments
Використовуючи вбудовану директиву, директива стає дійсною лише для цього рядка, і виглядатиме це приблизно так:
# Thanks to @jnt30 for the comment!
method(argument) # rubocop:disable SomeRule, SomeOtherRule
Ви можете прочитати тонну детальніше про RuboCop в її офіційному посібнику .
Щоб знайти всі назви правил, варто переглянути їх у файлах конфігурації rubocop
cyberwiz каже - "запускати, rubocop -D
коли мені потрібні назви правил, а не шукати в документації". Оновлення : тепер це поведінка за замовчуванням без прапора.
#!/bin/env ruby
рядок коментарів - це коментар, але все ж код і є семантично важливим. Коментарі не завжди є лише "коментарями".
Можна визначити шаблони регулярних виразів, щоб автоматично ігнорувати певні рядки rubocop.yml
, щоб ви могли ігнорувати всі рядки, починаючи з #
символу:
Metrics/LineLength:
Max: 80
IgnoredPatterns: ['\A#']
Це можна вдосконалити так, що "відступні" рядки коментарів (тобто пробіл, який супроводжується #
символом) також ігноруються, якщо це саме ви хочете.
Зауважте, що це не враховує рядки коду, які закінчуються коментарем:
some_code(that_does_something) # This line would NOT be ignored by Rubocop.
IgnorePatterns: ['(\A|\s)#']
IgnoredPatterns
замість цього має бути IgnorePatterns
(пропущена літера 'd').
Ви можете використовувати наступний коментар з rubocop, щоб ігнорувати певне правило:
# rubocop:disable Metrics/LineLength
def this_could_be_a_very_long_line_that_extends_forever_into_infinity
end
# rubocop:enable Metrics/LineLength
Ви також можете проігнорувати цілі файли, додавши їх до .rubocop.yml
:
AllCops:
Exclude:
- path/to/file.rb
Я думаю, що основна ідея тут полягає в тому, що ви хочете виконати довжину рядка, незалежно від того, що буде після n символів. за замовчуванням до 80 символів - деякий культовий культ для старих вікон терміналів, який міг би містити лише таку кількість символів. єдиний варіант, який я бачив у коді, - це можливість дозволити URL-адреси, які можуть перевищувати обмеження кількості символів.
ви можете ігнорувати цілі файли , я думаю, це не те, що ви шукаєте.