2011-07-23 24 views
7

Có ai biết cách phân biệt lỗi mới (lỗi được tìm thấy trong lần thực thi Pylint mới nhất) và lỗi cũ (lỗi được tìm thấy trong quá trình thực hiện trước) trong báo cáo Pylint không?Pylint - phân biệt lỗi mới với lỗi cũ

Tôi đang sử dụng Pylint trong một trong các dự án của mình và dự án khá lớn. Pylint báo cáo khá nhiều lỗi (mặc dù tôi đã vô hiệu hóa nhiều lỗi trong rcfile). Trong khi tôi sửa các lỗi này theo thời gian, điều quan trọng là không giới thiệu các lỗi mới. Nhưng các báo cáo Pylint HTML và "có thể phân tích cú pháp" không phân biệt các lỗi mới từ những lỗi đã được xác định trước đó, mặc dù tôi chạy Pylint với tùy chọn persistent=yes.

Hiện tại - tôi so sánh các báo cáo cũ và mới theo cách thủ công. Điều gì sẽ thực sự tốt đẹp mặc dù, là nếu Pylint có thể nổi bật bằng cách nào đó những thông báo lỗi đã được tìm thấy trên một chạy mới nhất, nhưng không được tìm thấy trên một trước đó. Có thể làm như vậy bằng cách sử dụng Pylint hoặc các công cụ hiện có hoặc một cái gì đó? Nếu không - có vẻ như tôi sẽ kết thúc việc viết so sánh và tạo báo cáo của riêng tôi.

+1

Tôi nhận thấy có một yêu cầu tính năng cho Pylint, trông rất giống với câu hỏi của tôi - http://www.logilab.org/ticket/20386. Vì vậy, có vẻ như Pylint không suppport này được nêu ra. – Timur

Trả lời

2

Hai phương pháp cơ bản. Sửa lỗi khi chúng xuất hiện để không có lỗi cũ. Hoặc, nếu bạn không có ý định sửa một số loại lỗi lint nhất định, hãy nói lint để ngừng báo cáo chúng.

Nếu bạn có nhiều tệp, bạn nên có báo cáo lint cho từng tệp riêng lẻ, cam kết báo cáo lint để kiểm soát sửa đổi như svn và sau đó sử dụng tiện ích khác của hệ thống kiểm soát sửa đổi để tách mới lint lỗi từ những người cũ đã tồn tại trước đó. Lý do cho các báo cáo riêng biệt cho mỗi tệp .py là làm cho nó dễ dàng hơn để đọc đầu ra diff.

Nếu bạn sử dụng Linux, vim -d oldfile newfile là cách hay để đọc khác biệt. Nếu bạn đang ở trên Windows thì chỉ cần sử dụng khả năng khác được xây dựng trong Tortoise SVN.

+1

Cảm ơn! Nhưng, trên thực tế, tôi có một dự án với hơn 1000 tệp mã nguồn và tất cả nội dung này được mã hóa trước khi tôi bắt đầu sử dụng Pylint. Và, thậm chí tệ hơn - mã nguồn có chất lượng thực sự kém (discalimer: nó không được mã hóa bởi tôi :-)). Rcfile của tôi chỉ cho phép ERRORs, nhưng tôi có khoảng 100+ chúng. Bạn có thể tưởng tượng số lượng lỗi khi tôi kích hoạt CẢNH BÁO ... Tôi sửa những lỗi này từng cái một, nhưng đó là một công việc khó khăn và cần thời gian, trong khi tôi cũng thêm mã mới và tôi muốn tập trung vào việc không giới thiệu lỗi mới. Vì vậy, đó là lý do tại sao tôi vẫn muốn phân biệt lỗi mới với những lỗi cũ. – Timur

+0

Như của các công cụ khác - có, đó là cách tôi làm điều đó ngay bây giờ :) – Timur

Các vấn đề liên quan