天天看点

当前效果

最近把代码数据库分析部分由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)评论功能,针对部分代码片段,评审者给出自己的修改意见

我觉得这些功能可以在以后的实现中慢慢添加,当前主要是完成前述的改进要点