2008-09-09 61 views

回答

12

在設置檔案方面,你有沒有試過perlcritic --profile-proto?這將發出標準化所有安裝的策略及其所有選項,並以perlcriticrc格式描述這兩個策略,包括它們的默認值。保存並編輯,以匹配你想要的。每當您升級Perl :: Critic時,您可能需要再次運行此命令並使用當前的perlcriticrc進行比較,以便您可以看到現有策略的任何更改並選取新策略。

在定期運行perceritic方面,建立一個Test::Perl::Critic測試以及其餘的測試。這對新代碼很有用。

對於您現有的代碼,請改爲使用Test::Perl::Critic::Progressive。 T :: P :: C :: Progressive會在您第一次運行時取得成功,但會節省違規次數;此後,如果任何計數增加,T :: P :: C :: Progressive將會投訴。有一點需要注意的是當你恢復源代碼管理系統的變化時。 (你正在使用一個,是不是?)說我檢查一個更改並運行測試,我的更改減少了P :: C違規的數量。後來,事實證明我的改變很糟糕,所以我回到了舊的代碼。由於計數減少,T :: P :: C :: Progressive測試將失敗。此時最簡單的方法是刪除歷史文件(默認位置t/.perlcritic-history)並重新運行。它應該重現您的舊計數,您可以編寫新的東西再次將它們記下來。

Perl :: Critic有許多策略隨附它,但還有一些附加的策略分發。看看Task::Perl::Critic Task::Perl::Critic::IncludingOptionalDependencies

你不需要有一個perlcriticrc處理你的所有代碼。爲要測試的每組文件創建單獨的perlcriticrc文件,然後單獨指向每個文件。舉個例子,看看作者對P :: C本身的測試http://perlcritic.tigris.org/source/browse/perlcritic/trunk/Perl-Critic/xt/author/。當作者測試運行時,有一個測試運行在P :: C的所有代碼之上,第二個測試僅對策略應用附加規則,第三個測試批評P :: C的測試。

我個人認爲每個人都應該在「嚴酷」的嚴酷程度上運行,但是要拋棄他們不同意的政策。 Perl :: Critic不完全符合自我;即使是P :: C開發人員也不同意康威所說的一切。查看Perl :: Critic本身使用的perlcriticrc文件,並在Perl :: Critic代碼中搜索「## no critic」的實例;目前我算143。

(是的,我的Perl的::評論家開發者之一。)

5

對於大多數文體標準,有perltidy。 perlcritic可以很容易地配置使用.perlcritic file。我個人在第一級使用它,但我禁用了一些策略。

4

除了'自動化框架',我強烈推薦Damian Conway的Perl最佳實踐。我不同意他所建議的100%,但大部分時間他都在砰砰作響。

1

一個很好的組合與Eclipse的EPIC - 擊中CTRL-SHIFT-C(或您的首選配置的快捷方式),並且您的代碼用警告指示器標記​​,無論哪裏perlritic已發現什麼抱怨。比記得在簽入前運行它好得多。正常情況下,它會接收您的.perlcriticrc,以便您可以自定義規則。我們保持版本控制中的.perlcriticrc,以便每個人都獲得相同的標準。

0

除了化妝品的最佳實踐,我總是覺得有用就在我的單元測試套件運行傑韋利::教授檢查測試覆蓋率。

相關問題