Podczas przeszukiwania projektu w Pythonie znalazłem kilka komentarzy z komentarzami # noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
Co to noqa
znaczy w Pythonie? Czy dotyczy tylko Pythona?
Podczas przeszukiwania projektu w Pythonie znalazłem kilka komentarzy z komentarzami # noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
Co to noqa
znaczy w Pythonie? Czy dotyczy tylko Pythona?
Odpowiedzi:
Dodanie # noqa
do linii wskazuje, że linter (program, który automatycznie sprawdza jakość kodu) nie powinien sprawdzać tej linii. Wszelkie ostrzeżenia, które mógł wygenerować kod, zostaną zignorowane.
Ta linia może mieć coś, co „źle wygląda” dla lintera, ale programista rozumie i zamierza to tam być z jakiegoś powodu.
Aby uzyskać więcej informacji, zapoznaj się z dokumentacją Flake8 dotyczącą wybierania i ignorowania naruszeń .
// jshint ignore:line
( jshint.com/docs )
# noqa
. Lub # noinspection PyUnresolvedReferences
na przykład długi formularz .
# noqa F0001
?
# nopep8
można również użyć, co jest trochę wyraźniejsze, imo.
Generalnie w Python Programming jest mowa o ignorowaniu ostrzeżeń PEP8 .
Krótko mówiąc, linie mające na końcu #noqa zostaną zignorowane przez programy linterowe i nie będą powodować żadnych ostrzeżeń.
Wiesz co? Już wcześniej Guido van Rossum (twórca Pythona) zadał to pytanie : D
Kiedyś było to „nopep8”, ale kiedy Flake8 i Pep8 chciały wspólnego kwalifikatora, @florentx zasugerował „NoQA” jak w „No Quality Assurance” (iirc) i tak się stało.
Niektóre podstawowe zwyczaje z# noqa
(z flake8 ):
# flake8: noqa
: pliki zawierające tę linię są pomijane# noqa
komentarz na końcu : nie będą generować ostrzeżeń# noqa: <error>
, np. # noqa: E234
na końcu : zignoruj określone błędy w linii
noqa
najprawdopodobniej oznaczano quality assurance
. Nakazuje oprogramowaniu do analizy kodu ignorowanie ostrzeżeń.