当前效果
最近把代码数据库分析部分由qt creator移植到understand数据库了。移植之后分析代码方便了很多。
可视化部分没有大的修改。
先发几张效果图。
项目总览
命名空间和类
类内部关系
当前的问题
1.类内部太过混乱。
(1)函数、变量之间依赖关系的连线太混乱,无法分辨主次。
(2)函数、变量等图标占的空间过多。而且图标不能有效传达必要的信息。
解决办法:
我认为较好的使用过程应该是这样的:用户决定观察一个类时,有两类可用的操作:
一是在类较小时,选中类本身,此时这个类与程序其他部分的关系(例如继承、引用)被显示出来。
二是在进一步放大的过程中,类的内部细节被逐步显示。包括主要的函数、变量、调用关系。
(1)先用简单的图标。
例如如下图所示,用小圆盘表示一个函数或者变量。
图标占的面积要小,这样才能留出空间显示边。
额外的信息,例如公有私有属性,可以通过改变图标颜色来展示。
(2)各种成员要按照主次逐步显示。
要识别出类内部各个成员的重要性。考虑的主次关系有:
1.代码量多的先显示
2.影响范围大(使用变量多、调用函数多)的先显示
3.大的成员变量先显示
随着图逐步放大,变量、函数的图标要逐步显现
(3)各种函数调用、变量依赖要按照主次逐步显示
要考虑的主次关系有:
对重要函数的调用,重要函数引发的调用
一个类显示的边数量应该限制在图示程度甚至更少。
(3)类缩小到一定程度时,应该能以一种简略的形式显示类的大概情况
例如类的变量多还是少,函数多还是少。
2.类之间布局不合理。
(1)间隔太大
(2)不同类由于代码量不一,导致图中显示的大小极为悬殊
(3)命名空间的区分不明显
解决方法:
(1)缩小布局间隔
(2)当类缩小至一定程度后,用不再缩小的图标显示。这样就可以保证始终被用户看见。
(3)命名空间可以用不同深度的蓝色表示层次。
关于CodeReview
code Review是指在程序员完成代码编写后,由有经验的专家检查代码是否符合规范。
规范的一大部分是代码格式是否符合要求,另外有一些软件工程的原则。
其中有几点值得考虑:
7.4 模块设计原则
a) 不允许随意定义公用的函数和类。
b) 函数功能单一,不允许一个函数实现两个及两个以上的功能。
c) 不能在函数内部使用全局变量,如要使用全局变量,应转化为局部变量。
d) 函数与函数之间只允许存在包含关系,而不允许存在交叉关系。即两者之间只存在单方向的调用与被调用,不存在双向的调用与被调用。
这里有介绍http://wenku.baidu.com/link?url=WqoTnCoWlN_CAMpaKW9GCbBAXa6Cv7tByrkPonUZdEeWptMEjSNpOfhc7X-ouzpjF5TOV7LAtXZGCsq9WOS6n0fxBP1m2FORb8CjC6NKSNe
codeReview软件是一类审查代码的软件,通常提供以下功能:
(1)代码历史版本的比对,高亮显示新改动的部分
(2)评论功能,针对部分代码片段,评审者给出自己的修改意见
我觉得这些功能可以在以后的实现中慢慢添加,当前主要是完成前述的改进要点