Saat mencari melalui proyek Python, saya menemukan beberapa baris berkomentar # noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
Apa noqa
artinya dengan Python? Apakah ini khusus untuk Python saja?
Saat mencari melalui proyek Python, saya menemukan beberapa baris berkomentar # noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
Apa noqa
artinya dengan Python? Apakah ini khusus untuk Python saja?
Jawaban:
Menambahkan # noqa
ke baris menunjukkan bahwa linter (program yang secara otomatis memeriksa kualitas kode) tidak boleh memeriksa baris ini. Peringatan apa pun yang mungkin dihasilkan oleh kode akan diabaikan.
Baris itu mungkin memiliki sesuatu yang "terlihat buruk" bagi linter, tetapi pengembang mengerti dan bermaksud untuk berada di sana untuk beberapa alasan.
Untuk informasi lebih lanjut, lihat dokumentasi Flake8 untuk Memilih dan Mengabaikan Pelanggaran .
// jshint ignore:line
( jshint.com/docs )
# noqa
. Atau bentuk panjang khusus # noinspection PyUnresolvedReferences
misalnya.
# noqa F0001
?
# nopep8
juga dapat digunakan yang sedikit lebih jelas, imo.
Ini umumnya disebut dalam Pemrograman Python untuk mengabaikan peringatan PEP8 .
Dengan kata sederhana, baris yang memiliki #noqa pada akhirnya akan diabaikan oleh program linter dan mereka tidak akan memunculkan peringatan.
Kamu tahu apa? Bahkan Guido van Rossum (pencipta Python) mengajukan pertanyaan ini sebelumnya : D
Sedikit Etimologi dari# noqa
:
Dulu "nopep8" tetapi ketika Flake8 dan Pep8 menginginkan kualifikasi umum @florentx menyarankan "NoQA" seperti dalam "No Quality Assurance" (iirc) dan macet.
Beberapa dasar penggunaan dari# noqa
(dengan flake8 ):
# flake8: noqa
: file yang berisi baris ini dilewati# noqa
komentar di akhir : tidak akan mengeluarkan peringatan# noqa: <error>
, misalnya, # noqa: E234
di akhir : abaikan kesalahan spesifik pada suatu baris
noqa
kemungkinan besar singkatanno quality assurance
. Ini memberi tahu perangkat lunak analisis kode untuk mengabaikan peringatan.