1
A
回答
1
你可以發現的最大問題是絕對依賴週期。 NDepend工具提出了一個交互式dependency Matrix和一個dependency Graph,這將有助於發現dependency cyles。 聲明:我的工具的開發者之一
注意,依賴矩陣是遠遠超過圖表察覺週期調整。因爲一個循環避免矩陣爲三角形。
問題的其他範圍是相對於你的應用程序結構:例如,它是正常的用戶界面直接使用DB?或者更糟,數據庫依賴於UI?
你可以寫code rules over LINQ queries (CQLinq)檢查禁止的依賴關係。下面的代碼規則檢查該UI的類型不應該直接使用DB類型:
// <Name>UI layer shouldn't use directly DB types</Name>
warnif count > 0
// UI layer is made of types in namespaces using a UI framework
let uiTypes = Application.Namespaces.UsingAny(Assemblies.WithNameIn("PresentationFramework", "System.Windows", "System.Windows.Forms", "System.Web")).ChildTypes()
// You can easily customize this line to define what are DB types.
let dbTypes = ThirdParty.Assemblies.WithNameIn("System.Data", "EntityFramework", "NHibernate").ChildTypes()
// Ideally even DataSet and associated, usage should be forbidden from UI layer:
// http://stackoverflow.com/questions/1708690/is-list-better-than-dataset-for-ui-layer-in-asp-net
.Except(ThirdParty.Types.WithNameIn("DataSet", "DataTable", "DataRow"))
from uiType in uiTypes.UsingAny(dbTypes)
let dbTypesUsed = dbTypes.Intersect(uiType.TypesUsed)
select new { uiType, dbTypesUsed }
1
是什麼依賴關係圖?班?存儲過程?
週期是壞...
0
如果更改一個依賴意味着你需要改變了一大堆別人,這是不好的。
但是,有些環境可以幫助。
0
我不知道什麼是NDepend的節目,但假象,往往會陷入很多代碼段(特別是不相關的部分)將趨於惡劣(恕我直言)我認爲這是「癌症代碼」。
0
NFJS會議上的演講者向我們展示了一些依賴關係圖... 他指出的一個問題是尋找與您的代碼庫的不同功能部件之間的關係。這些可能會破壞封裝。
而且我想看看每個部分的一般複雜..那些與行遍是犯罪嫌疑人。
相關問題
- 1. 容易依賴項屬性
- 2. 發現哪些程序集正在加載哪些依賴關係(運行時)
- 3. 使用圖形和樹可以解決哪些問題或更容易解決哪些問題?
- 4. 依賴性問題
- 5. 依賴問題5.6
- 6. Makefile依賴問題
- 7. Grails依賴問題
- 8. 很容易在cmake中包含頭文件庫依賴關係
- 9. MYSQL觸發器問題 - 非常容易
- 10. 哪些對象應該進入一個依賴容器
- 11. Sequelize:循環依賴發現
- 12. Qt依賴於Windows的哪些部分?
- 13. Python依賴於哪些內核服務?
- 14. 哪些依賴項會被下載?
- 15. JUNG:哪些庫需要依賴關係?
- 16. html2pdf生成依賴於哪些因素?
- 17. 在Erlang中編寫傳統的併發問題很容易嗎?
- 18. Grails依賴注入問題
- 19. DLL依賴項問題/ SetDLLDirectory
- 20. 依賴管理問題
- 21. Asp.Net依賴項問題
- 22. Newtonsoft.Json依賴項問題
- 23. flex/bison的依賴問題
- 24. C#依賴注入問題
- 25. emacs ubuntu依賴項問題
- 26. PyCrypto Py3compat的依賴問題
- 27. py2app依賴關係問題
- 28. 依賴注入問題
- 29. Java依賴注入問題
- 30. Twilio:Android的依賴問題