6
A
回答
6
在这篇博客Identify Code Structure Patterns at a Glance它解释了如何使用依赖结构矩阵来识别代码结构模式。屏幕截图是使用NDepend工具的Dependency Structure Matrix完成的。这里有几个模式:
分层代码(没有循环代码,肯定是一个DSM可以一目了然地告诉你最酷的事情)
代码依赖循环
高内聚/低耦合
饿呼叫者
热门被叫
互耦
数据对象
1
以相同的顺序列出X和Y轴上的子系统。 对角标记“O”。根据自己的子系统不是 很有意义。垂直向下走向矩阵。如果子系统 取决于匹配的水平子系统,请标记X.
好的重新排列子系统以显示可能导致重构良好的模式。
虽然我没有一个方便。抱歉。
1
DSM最有价值的功能之一是检测周期,例如项目或包之间的周期。循环显示在矩阵的右上角。 看到这个页面的更多细节:http://docs.codehaus.org/display/SONAR/Dependency+Structure+Matrix
3
Erik Dörnenburg gives the best description我见过,包括一些很好的例子,说明如何安排图表可以暴露结构性问题。简述:
- 如其他人所说的,什么都在对角线之上表明一个周期,这基本上意味着你的边界沿对角线“模糊”(不干净)
- 短小广场(当然,较低的三角形)= =好,如果部件,按照其在另一方面层次
- ,权重较大的行或列==可能存在的问题进行分组:要么
- 行:你有一个组件/组很多人的依赖(也许它试图提供太多功能),或
- 列:您有一个组件/组取决于很多其它的(也许它正试图照顾一切本身,而不是委托)
相关问题
- 1. 有人可以告诉我它是什么样的加密吗?
- 2. 有人可以告诉我为什么这是Query非常慢?
- 3. 有人能告诉我是什么样的一类和C++
- 4. 。有人能告诉我为什么吗?
- 5. 有人可以告诉我这个脚本有什么问题
- 6. 有人可以告诉我我的代码有什么问题
- 7. 有人可以告诉我什么是grafana“系列名栏”?
- 8. 有人可以告诉我这是什么意思?
- 9. 有人可以告诉我我可能会做错什么
- 10. 有人可以告诉我List,Collection和Enumerable有什么区别?
- 11. 有人可以告诉我这幅画有什么问题吗?
- 12. 有人可以告诉我这段代码有什么问题...?
- 13. 任何人都可以告诉我Oracle Enterprise Repository是什么?
- 14. 任何人都可以告诉我这是什么功能吗?
- 15. 任何人都可以告诉我这有什么问题吗?
- 16. 有人可以告诉我“XThrowIfError”做了什么吗?
- 17. 有人可能会看我的代码,并告诉我什么是错的?
- 18. 任何一个可以告诉我为什么在Dropdown_SelectedIndexChanged IIS
- 19. 有人请告诉我为什么我们可以得到以下异常
- 20. 有人可以告诉我为什么运行时间是N^2?
- 21. 有人可以告诉我为什么这个JavaScript函数不执行?
- 22. 有人可以告诉我,为什么这个批处理脚本不工作?
- 23. 有人可以告诉我这个简单的PHP有什么问题
- 24. 有没有人可以告诉我为什么发生这种情况c
- 25. 有人可以告诉我这段R代码是干什么的吗?
- 26. 有人可以告诉我这个逻辑有什么问题吗?
- 27. 有人可以告诉我这个反向传播实施有什么问题
- 28. 任何一个可以告诉什么类型的转换是这样的
- 29. 任何人都可以告诉我什么:x:用于?
- 30. 任何人都可以告诉我做错了什么?