Как заставить pylint считать только аргументы без значения по умолчанию? - PullRequest
0 голосов
/ 06 февраля 2019

По умолчанию Pylint завершается ошибкой (возвращает код ошибки> 0), если метод имеет более 5 параметров.

def my_func(a, b, c, d, e, f, g)

, следовательно, потерпит неудачу.Я хотел бы сохранить это поведение, но позволить функциям, которые передают значения по умолчанию, такие как

def my_func2(a, b, c, d=None, e='yes', f=1.0, g=None, h=True, i=10)

, не завершиться с ошибкой.

Другими словами, я хотел бы, чтобы pylint считал только параметры без значения по умолчанию.Можно ли это сделать?Как?Есть ли регулярное выражение для параметров?

Примечание : повышение max-args не помогает в этом отношении, поскольку my_func2 фактически получает больше параметров, чем my-func

1 Ответ

0 голосов
/ 28 февраля 2019

После еще нескольких дней игры с этим я нашел обходной путь.

Можно отключить определенные проверки Pylint для конкретной строки определенного блока кода, как описано здесь .

Так как в моем случае есть определенная функция, для которой, я думаю, можно нарушить проверку too-many-arguments, я могу добавить в качестве первой строки после определения функции инструкцию, чтобы передатьотключить проверку:

def my_func2(a, b, c, d=None, e='yes', f=1.0, g=None, h=True, i=10):
    # pylint: disable=too-many-arguments
    pass

Это отключает ошибку и проверка пилинта завершается успешно.

Хотя это обходной путь к моему первоначальному вопросу, я согласен с этим решением, поскольку оно требуетразработчик активно заявляет, что это является преднамеренным нарушением руководящих принципов Pylint, что является приемлемым.

...