Trong khi tìm kiếm thông qua một dự án Python, tôi đã tìm thấy một vài dòng bình luận # noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
Không gì noqa
có nghĩa là bằng Python? Nó chỉ dành riêng cho Python?
Trong khi tìm kiếm thông qua một dự án Python, tôi đã tìm thấy một vài dòng bình luận # noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
Không gì noqa
có nghĩa là bằng Python? Nó chỉ dành riêng cho Python?
Câu trả lời:
Thêm # noqa
vào một dòng chỉ ra rằng kẻ nói dối (một chương trình tự động kiểm tra chất lượng mã) không nên kiểm tra dòng này. Bất kỳ cảnh báo nào mà mã có thể đã tạo sẽ bị bỏ qua.
Dòng đó có thể có một cái gì đó "có vẻ xấu" đối với người nói dối, nhưng nhà phát triển hiểu và dự định nó sẽ ở đó vì một số lý do.
Để biết thêm thông tin, hãy xem tài liệu Flake8 để chọn và bỏ qua các vi phạm .
// jshint ignore:line
( jshint.com/docs )
# noqa
. Hoặc dạng dài cụ thể # noinspection PyUnresolvedReferences
chẳng hạn.
# noqa F0001
?
# nopep8
cũng có thể được sử dụng rõ ràng hơn một chút, imo.
Nó thường được gọi trong Lập trình Python để bỏ qua các cảnh báo PEP8 .
Nói một cách đơn giản, các dòng có #noqa ở cuối sẽ bị bỏ qua bởi các chương trình kẻ nói dối và chúng sẽ không đưa ra bất kỳ cảnh báo nào.
Bạn biết gì? Ngay cả Guido van Rossum (người tạo ra Python) đã hỏi câu hỏi này trước đây : D
Một chút từ nguyên của# noqa
:
Nó từng là "nopep8" nhưng khi Flake8 và Pep8 muốn một vòng loại chung @florentx đã đề xuất "NoQA" như trong "Không đảm bảo chất lượng" (iirc) và nó bị kẹt.
Một số cách sử dụng cơ bản của# noqa
(với flake8 ):
# flake8: noqa
: các tệp có chứa dòng này được bỏ qua# noqa
nhận xét ở cuối : sẽ không đưa ra cảnh báo# noqa: <error>
, ví dụ: # noqa: E234
ở cuối : bỏ qua các lỗi cụ thể trên một dòng
noqa
nhiều khả năng là viết tắt củano quality assurance
. Nó nói với phần mềm phân tích mã để bỏ qua các cảnh báo.