Beim Durchsuchen eines Python-Projekts habe ich einige Zeilen gefunden, die mit kommentiert wurden # noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
Was noqa
bedeutet in Python? Ist es nur für Python spezifisch?
Beim Durchsuchen eines Python-Projekts habe ich einige Zeilen gefunden, die mit kommentiert wurden # noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
Was noqa
bedeutet in Python? Ist es nur für Python spezifisch?
Antworten:
Das Hinzufügen # noqa
zu einer Zeile zeigt an, dass der Linter (ein Programm, das die Codequalität automatisch überprüft) diese Zeile nicht überprüfen sollte. Alle Warnungen, die der Code möglicherweise generiert hat, werden ignoriert.
Diese Zeile hat möglicherweise etwas, das für den Linter "schlecht aussieht", aber der Entwickler versteht und beabsichtigt, dass sie aus irgendeinem Grund vorhanden ist.
Weitere Informationen finden Sie in der Flake8-Dokumentation zum Auswählen und Ignorieren von Verstößen .
// jshint ignore:line
( jshint.com/docs )
# noqa
. Oder # noinspection PyUnresolvedReferences
zum Beispiel eine lange Form .
# noqa F0001
?
# nopep8
auch verwendet werden kann, was imo etwas klarer ist.
In der Python-Programmierung wird allgemein darauf verwiesen, die PEP8- Warnungen zu ignorieren .
Mit einfachen Worten, Zeilen mit #noqa am Ende werden von den Linter-Programmen ignoriert und es werden keine Warnungen ausgegeben.
Weißt du was? Sogar Guido van Rossum (der Schöpfer von Python) hat diese Frage schon einmal gestellt : D.
Ein bisschen Etymologie von# noqa
:
Früher war es "nopep8", aber als Flake8 und Pep8 ein gemeinsames Qualifikationsmerkmal wollten, schlug @florentx "NoQA" wie in "No Quality Assurance" (iirc) vor und es blieb hängen.
Einige grundlegende Verwendungen von# noqa
(mit flake8 ):
# flake8: noqa
: Dateien , die diese Zeile enthalten , werden übersprungen# noqa
Kommentar enthalten : geben keine Warnungen aus# noqa: <error>
zB # noqa: E234
am Ende : Ignorieren Sie bestimmte Fehler in einer Zeile
noqa
steht höchstwahrscheinlich fürno quality assurance
. Es weist die Code-Analyse-Software an, Warnungen zu ignorieren.