2012-05-30 53 views
2

我需要在Perl中實現lint和Perl :: Critic來進行靜態代碼分析。我在Perl中爲lint找到了B :: Lint模塊。B :: Lint和Perl ::靜態代碼分析的批評

  1. 真的需要同時使用這兩個模塊進行靜態代碼分析嗎?
  2. 如果是,那麼這兩個模塊如何一起工作?
+0

B :: Lint是用於靜態代碼分析是有用的,並且發現不同於默認用Perl ::評論家解決不同的問題。 Perl :: Critic可能很容易擴展到解決B :: Lint的問題。我對B :: Lint的一個問題是它不理解某些語法,並給出錯誤的警告。使用Perl :: Critic,可以在目標代碼中使用'## no crit(policy_name)'來覆蓋這些問題。 B :: Lint,據我所知,不提供這樣的設施。 – DavidO

回答

4

B::LintPerl::Critic是單獨的模塊。

不需要同時使用這兩個模塊,但使用兩者都很有用。

我爲自己創建了一個包裝腳本,以便按順序運行。例如,爲了分析單個的Perl源代碼文件(file.pl):

perlcritic --brutal --verbose 9 file.pl 
perl -MO=Lint file.pl