244 votes

Que signifie "# noqa" dans les commentaires Python?

En cherchant dans un projet Python, j'ai trouvé quelques lignes commentées avec # noqa .

 import sys
sys.path.append(r'C:\dev')
import some_module   # noqa
 

Que signifient noqa en Python? Est-ce spécifique à Python uniquement?

289voto

jimf Points 1162

L'ajout d' # noqa d'une ligne indique que le linter (un programme qui vérifie automatiquement la qualité du code) ne doivent pas vérifier cette ligne. Tous les avertissements que le code généré sera ignoré.

Cette ligne peut avoir quelque chose qui semble "mauvais" pour la linter, mais le développeur comprend et a l'intention d'être là pour une raison.

Pour plus d'informations, voir la Flake8 de la documentation pour la Sélection, et en Ignorant les Violations.

90voto

Vishvajit Pathak Points 948

noqa = NO-QA (NO Quality Assurance)

Dans la programmation Python, il est généralement fait référence à ignorer les avertissements PEP8 .

En termes simples, les lignes contenant #noqa seront ignorées par les programmes linter et elles ne déclencheront aucun avertissement.

45voto

YaOzI Points 129

Vous savez quoi? Même Guido van Rossum (le créateur de Python) cette question avant :D

Un peu d'Étymologie d' # noqa:

Il sert à être "nopep8" mais quand Flake8 et Pep8 voulais une commune qualifier @florentx suggéré "NoQA", comme dans "Pas d'Assurance de la Qualité" (iirc) et c'est resté.

Certains de base usages de l' # noqa (avec flake8):

  • # flake8: noqa: les fichiers qui contiennent cette ligne sont ignorés
  • les lignes qui contiennent un # noqa commentaire à la fin: n'aura pas d'émettre des avertissements
  • # noqa: <error>, par exemple, # noqa: E234 à la fin: ignorer les erreurs spécifiques sur une ligne
    • plusieurs codes d'erreur peuvent être données, séparés par une virgule
    • le côlon avant la liste des codes est nécessaire

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X