Về mặt thiết lập hồ sơ, bạn đã thử perlcritic --profile-proto
chưa? Điều này sẽ phát ra để stdout tất cả các chính sách được cài đặt của bạn với tất cả các tùy chọn của họ với mô tả của cả hai, bao gồm cả các giá trị mặc định của họ, trong định dạng perlcriticrc. Lưu và chỉnh sửa để phù hợp với những gì bạn muốn. Bất cứ khi nào bạn nâng cấp Perl :: Critic, bạn có thể muốn chạy lệnh này một lần nữa và làm một diff với perlcriticrc hiện tại của bạn để bạn có thể thấy bất kỳ thay đổi nào với các chính sách hiện có và nhận bất kỳ thay đổi nào mới.
Về mặt chạy perlcritic thường xuyên, hãy thiết lập thử nghiệm Test::Perl::Critic cùng với phần còn lại của các thử nghiệm của bạn. Điều này là tốt cho mã mới.
Đối với mã hiện tại của bạn, hãy sử dụng Test::Perl::Critic::Progressive để thay thế. T :: P :: C :: Progressive sẽ thành công lần đầu tiên bạn chạy nó, nhưng sẽ tiết kiệm được số lượng vi phạm; sau đó, T :: P :: C :: Tiến bộ sẽ khiếu nại nếu bất kỳ số lượng nào tăng lên. Một điều cần chú ý là khi bạn hoàn nguyên các thay đổi trong hệ thống kiểm soát nguồn của mình. (Bạn đang sử dụng một, phải không?) Nói tôi kiểm tra trong một sự thay đổi và chạy thử nghiệm và thay đổi của tôi làm giảm số lượng vi phạm P :: C. Sau đó, nó chỉ ra sự thay đổi của tôi là xấu, vì vậy tôi trở lại mã cũ. T :: P :: C :: Kiểm tra lũy tiến sẽ thất bại do số lượng giảm. Điều dễ nhất để làm vào thời điểm này là chỉ cần xóa tệp lịch sử (vị trí mặc định t/.perlcritic-history) và chạy lại. Nó sẽ tái tạo số lượng cũ của bạn và bạn có thể viết những thứ mới để đưa chúng xuống một lần nữa.
Perl :: Nhà phê bình có nhiều chính sách đi kèm với nó, nhưng có một loạt các phân phối bổ sung của các chính sách. Hãy xem Task::Perl::Critic và Task::Perl::Critic::IncludingOptionalDependencies.
Bạn không cần phải có một perlcriticrc duy nhất xử lý tất cả mã của bạn. Tạo các tệp perlcriticrc riêng biệt cho mỗi bộ tệp mà bạn muốn thử nghiệm và sau đó là một thử nghiệm riêng biệt trỏ đến từng tệp. Ví dụ, có một cái nhìn tại các bài kiểm tra tác giả cho P :: C chính nó tại http://perlcritic.tigris.org/source/browse/perlcritic/trunk/Perl-Critic/xt/author/. Khi thử nghiệm tác giả được chạy, có một thử nghiệm chạy trên tất cả mã của P :: C, một thử nghiệm thứ hai áp dụng các quy tắc bổ sung chỉ dựa trên các chính sách, và một thử nghiệm thứ ba phê phán các thử nghiệm của P :: C.
Cá nhân tôi nghĩ rằng mọi người nên chạy ở mức độ nghiêm trọng "tàn bạo", nhưng loại bỏ các chính sách mà họ không đồng ý. Perl :: Critic không hoàn toàn tự tuân thủ; ngay cả các nhà phát triển P :: C cũng không đồng ý với mọi thứ Conway nói. Nhìn vào các tập tin perlcriticrc được sử dụng trên Perl :: Critic chính nó và tìm kiếm Perl :: Mã Critic cho trường hợp của "# # không có nhà phê bình"; Tôi đếm 143 hiện nay.
(Vâng, tôi là một trong những nhà phát triển phê bình Perl ::.)
Nguồn
2008-09-15 13:12:17
Ý của bạn là "Lên và chạy" là gì? – svrist
Bởi "Lên và chạy", tôi có nghĩa là để cấu hình các nhà phê bình theo nhu cầu của tôi (tôi biết có Perl :: Critic :: Config, nhưng được perl coder, tôi đang cố gắng rất lười :)) và chạy nó trên cơ sở mã của tôi. Tôi sẽ cập nhật câu hỏi. – Jagmal