Ruff invalid-first-argument-name-for-method (N805)
invalid-first-argument-name-for-method в Ruff проверяет, что первый аргумент метода экземпляра класса называется self.
Почему это неправильно
PEP 8 рекомендует использовать self в качестве имени первого аргумента для методов экземпляров класса:
- Методы экземпляров должны получать первым аргументом self.
- Если имя аргумента конфликтует с зарезервированным словом, рекомендуется добавлять к нему завершающее подчеркивание (например, class_ вместо clss). Однако предпочтительнее всего использовать общеупотребимые синонимы, не искажающие смысл.
Следование этому соглашению повышает читаемость и предсказуемость кода.
Имена, на которые распространяется это правило, могут быть исключены с помощью настроек lint.pep8-naming.ignore-names или lint.pep8-naming.extend-ignore-names. Например, чтобы разрешить использование klass в качестве первого аргумента методов, установите lint.pep8-naming.extend-ignore-names в ["klass"].
Пример ошибки
class MyClass:
def function(this, data):
pass # Использование имени аргумента "this" вместо "self"
Как правильно
class MyClass:
def method_name(self, data):
pass