У меня есть этот тестовый файл:
"""module docstring"""
class Aclass:
"""class docstring"""
def __init__(self, attr=None, attr2=None):
self.attr = attr
self.attr2 = attr2
def __repr__(self):
return 'instance_of the Aclass {self.attr}.'
def __str__(self):
return 'The A with: {self.attr}.'
def init_a():
"""function docstring"""
a_inst = Aclass()
attr = 1
attr2 = 2
a_inst.attr2 = attr2
# should be: a_inst.attr = attr, but have a typo
attr = attr
, и я проверяю его, используя pylint, и вывод показывает, что все в порядке.
$ pylint test.py
--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)
На основе linting , я ожидаю флага о подозрительном использовании на языке программного обеспечения, потому что я не знаю, когда этот код a=1; a=a
может быть полезен.И я хочу увидеть какое-то предупреждение, например: неиспользуемая переменная или самостоятельное назначение и т. Д. Есть ли способ использовать пулинт?(Я знаю о Пихарме и сонаркебе).Пример правил сонара .
public void foo() {
int x = 3;
x = x;
}
Such assignments are useless, and may indicate a logic error or typo.
подробностей о pylint
pylint 2.3.1
astroid 2.2.5
Python 3.6.5 (default, May 5 2019, 22:05:54)
[GCC 6.3.0 20170516]
ОБНОВЛЕНИЕ создание проблемы защитапротив самостоятельного назначения # 2930 , надеюсь, это будет полезно
ОБНОВЛЕНИЕ в зависимости от проблемы, добавленной по умолчанию правила в пинлинте