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 noqaznaczy 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 noqaznaczy w Pythonie? Czy dotyczy tylko Pythona?
Odpowiedzi:
Dodanie # noqado 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 PyUnresolvedReferencesna przykład długi formularz .
# noqa F0001?
# nopep8moż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# noqakomentarz na końcu : nie będą generować ostrzeżeń# noqa: <error>, np. # noqa: E234 na końcu : zignoruj określone błędy w linii
noqanajprawdopodobniej oznaczano quality assurance. Nakazuje oprogramowaniu do analizy kodu ignorowanie ostrzeżeń.