Пылинт и ерш не жалуются на бесполезный (ненужный) возврат в функциях со строкой документации.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Пылинт и ерш не жалуются на бесполезный (ненужный) возврат в функциях со строкой документации.

Сообщение Anonymous »

В документации pylint мы читаем:

Выдается, когда в
конце найден один оператор return или return None. определение функции или метода. Этот оператор можно безопасно
удалить, поскольку Python неявно вернет None

В документации ruff по PLR1711 мы читаем:

Что он делает
Проверяет функции, которые заканчиваются ненужным возвратом или возвращают None и не содержат других операторов возврата.
Похоже, что в документации ruff ненужное return или return None относится к такому оператору, при удалении которого функция останется практически той же самой.
Таким образом, и ruff, и pylint должен пометить этот возврат, верно?:

Код: Выделить всё

def f():
"""docs"""
return None
Но они этого не делают. Я запустил это в новой среде Google Colab:

Код: Выделить всё

!pip install pylint ruff>/dev/null
!pylint --version && ruff --version
!printf "\nDOCS :\n"
!printf 'def f():\n    """docs"""\n    return None' > a.py
!pylint --disable C a.py
!ruff check --extend-select PLR1711 a.py
!printf "\nPRINT :\n"
!printf 'def f():\n    print()\n    return None' > a.py
!pylint --disable C a.py
!ruff check --extend-select PLR1711 a.py
и получил:

Код: Выделить всё


pylint 3.3.1
astroid 3.3.5
Python 3.10.12 (main, Sep 11 2024, 15:47:36) [GCC 11.4.0]
ruff 0.7.4

DOCS :

------------------------------------
Your code has been rated at 10.00/10

All checks passed!

PRINT :
************* Module a
a.py:1:0: R1711: Useless return at end of function or method (useless-return)

-------------------------------------------------------------------
Your code has been rated at 6.67/10 (previous run: 10.00/10, -3.33)

a.py:3:5: PLR1711 [*] Useless `return` statement at end of function
|
1 | def f():
2 |     print()
3 |     return None
|     ^^^^^^^^^^^ PLR1711
|
= help: Remove useless `return` statement

Found 1 error.
[*] 1 fixable with the `--fix` option.

Можем ли мы заставить эти инструменты жаловаться на такие возвраты?

Подробнее здесь: https://stackoverflow.com/questions/791 ... unctions-w
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»