2010-07-01 33 views
1

有沒有辦法使用jDepend,ant contrib的verifydesign任務或任何其他類似的工具運行程序包依賴性分析,該工具使用黑名單而不是白名單?需要Java程序包依賴性分析工具

也就是說,我想不太嚴格(至少在最初)。而不是指定包A,只能依賴於B,C和K;包B只能依賴於Q,W和R;等包在系統中,我想開始說:包一個絕對不能與W和Y有任何聯繫,並且它做的任何事情都是我的好。隨着時間的推移,我可以逐漸添加每個包的預期依賴關係(A取決於B,C,K)的完整列表。

那麼是否存在一個工具來做到這一點?

回答

1

您可以使用Structure101 Architecture Diagrams來做到這一點,因爲圖表可以包含您的代碼庫的一個子集。在你的例子中,你可以在圖中爲A,W和Y創建3個單元格,將W和Y放置在圖中的A之上(依賴關係只能向下流動,或者至少一個向上依賴關係被認爲是圖的「違反」 )。將W和Y並排放置在A之上表示W和Y之間不應存在依賴關係。如果您不想限制W和Y之間的依賴關係,則可以將它們合併到一個單元格中,並將它們 - 依賴關係不會被檢查。規則會自動檢查,您可以生成警告和/或錯誤(如果需要,可以打開構建)。隨着重構努力的進展,您可以逐漸添加到圖表中...

+0

這看起來很有希望,我必須下載試用版。感謝您的鏈接。 – 2011-08-15 17:58:14

1

我可以做得更好:你可以在AspectJ AOP中表達這樣的東西,以便它可以在運行時執行。 「AspectJ In Action」向您展示瞭如何。