2011-07-23 59 views
7

是否有人知道如何區分Pylint報告中的新錯誤(在最新的Pylint執行過程中發現的錯誤)和舊錯誤(在先前執行過程中發現的錯誤)?Pylint - 區分新的錯誤與舊的錯誤

我在我的一個項目中使用Pylint,並且該項目非常大。 Pylint報告了很多錯誤(儘管我在rc文件中禁用了很多錯誤)。雖然我隨着時間的推移解決了這些錯誤,但不要引入新錯誤也很重要。但是Pylint HTML和「可解析的」報告並沒有區分新的錯誤,即使我使用persistent=yes選項運行Pylint。

至於現在 - 我手動比較新舊報告。然而,真正好的是,如果Pylint可以突出顯示那些在最近運行中找到的錯誤消息,但是在之前的錯誤消息中找不到。是否可以使用Pylint或現有的工具或其他?因爲如果不是這樣 - 看起來我最終會編寫自己的比較和報告。

+1

我注意到Pylint有一個功能請求,它與我的問題非常相似 - http://www.logilab.org/ticket/20386。所以,看起來Pylint並不支持這一點。 – Timur

回答

2

兩種基本方法。修復出現的錯誤,以免出現舊錯誤。或者,如果您無意修復某些類型的皮棉錯誤,請告知皮棉停止報告。

如果你有很多文件,分別爲每個文件獲取一個lint報告是一個好主意,將lint報告提交給像svn這樣的版本控制,然後使用版本控制系統diff實用程序來分隔新的lint來自舊的已有的錯誤。爲每個.py文件分開報告的原因是爲了更容易讀取diff輸出。

如果您在Linux上,vim -d oldfile newfile是閱讀差異的好方法。如果你在Windows上,那麼只需使用Tortoise SVN內置的diff功能。

+1

謝謝!但事實上,我有一個包含1000多個源代碼文件的項目,所有這些東西都是在我開始使用Pylint之前進行編碼的。更糟糕的是,源代碼質量很差(discalimer:它不是由我編碼:-))。我的rc文件只能啓用錯誤,但我有大約100多個。你可以想象當啓用警告時,錯誤的數量是多少......我一個一個修復這些錯誤,但這是一項艱苦的工作,需要時間,而我也添加了新的代碼,並且我想專注於不引入新錯誤。所以,這就是爲什麼我仍然想要區分舊錯誤的原因。 – Timur

+0

作爲差異工具 - 是的,這就是我現在的做法:) – Timur