En cherchant dans un projet Python, j'ai trouvé quelques lignes commentées # noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
Que noqa
signifie en Python? Est-ce spécifique à Python uniquement?
En cherchant dans un projet Python, j'ai trouvé quelques lignes commentées # noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
Que noqa
signifie en Python? Est-ce spécifique à Python uniquement?
Réponses:
L'ajout # noqa
à une ligne indique que le linter (un programme qui vérifie automatiquement la qualité du code) ne doit pas vérifier cette ligne. Tous les avertissements générés par le code seront ignorés.
Cette ligne peut avoir quelque chose qui "semble mauvais" pour le linter, mais le développeur comprend et a l'intention qu'elle soit là pour une raison quelconque.
Pour plus d'informations, consultez la documentation Flake8 sur la sélection et l' ignorance des violations .
// jshint ignore:line
( jshint.com/docs )
# noqa
. Ou forme longue spécifique # noinspection PyUnresolvedReferences
par exemple.
# noqa F0001
?
# nopep8
peut également être utilisé, ce qui est un peu plus clair, imo.
Il est généralement fait référence dans la programmation Python pour ignorer les avertissements PEP8 .
En termes simples, les lignes ayant #noqa à la fin seront ignorées par les programmes linter et ils ne déclencheront aucun avertissement.
Vous savez quoi? Même Guido van Rossum (le créateur de Python) a posé cette question avant : D
Un peu d' étymologie de# noqa
:
C'était "nopep8" mais quand Flake8 et Pep8 voulaient un qualificatif commun, @florentx a suggéré "NoQA" comme dans "No Quality Assurance" (iirc) et il est resté.
Certains de base usages de# noqa
(avec flake8 ):
# flake8: noqa
: les fichiers contenant cette ligne sont ignorés# noqa
commentaire à la fin : n'émettra pas d'avertissements# noqa: <error>
, par exemple, # noqa: E234
à la fin : ignorer les erreurs spécifiques sur une ligne
noqa
signifie probablementno quality assurance
. Il indique au logiciel d'analyse de code d'ignorer les avertissements.