0

我一直在寻找和寻找,但这个问题的搜索空间似乎无可救药地混乱了。

我们都经历过:这个为期 6 周的项目耗时 5 个月,现在高管们想要一个 Powerpoint。

是否有一种工具可以以管理层可以理解的方式直观地显示源代码树从一个修订版到另一个修订版的更改?我正在考虑在源文件的缩略图之前和之后生成的东西(基本上只是由代码行缩放的不同高度的矩形),“之后”缩略图用红色、绿色和黄色带突出显示,其中差异看到了删除、添加和变化。

然而,任何能说明问题的东西都可以。

编辑:我找到了 gource,但我正在寻找可以放在 2 张幻灯片上的东西。古斯虽然很棒。

编辑2:也是codewarm - 另一个视频工具,如果可能的话,我正在寻找静止图像。

4

2 回答 2

2

总结版本之间更改的一种方法是使用diffstat。Diffstat 计算删除/添加的行数,并以图形表示所有文件的更改相对分布。来自 linux 内核源代码的示例:

$ git diff v3.5-rc3 v3.5-rc4 [k-z]* | diffstat 
 kernel/cgroup.c                        |   13 +
 kernel/events/core.c                   |   10 -
 kernel/exit.c                          |   19 +-
 kernel/pid_namespace.c                 |   20 ++
 kernel/printk.c                        |  241 ++++++++++++++++++++++++++++-----
 kernel/sys.c                           |    6 
 lib/fault-inject.c                     |    4 
 mm/memblock.c                          |   48 +++++-
 mm/memcontrol.c                        |    6 
 mm/memory.c                            |   12 +
 mm/mempolicy.c                         |    2 
 mm/oom_kill.c                          |   17 +-
 mm/page_cgroup.c                       |    4 
 mm/pagewalk.c                          |    1 
 mm/percpu-vm.c                         |    1 
 net/9p/trans_virtio.c                  |    2 
 net/ceph/ceph_common.c                 |    7 
 net/ceph/messenger.c                   |    4 
 net/ceph/mon_client.c                  |    8 +
 net/ceph/osd_client.c                  |   12 -
 scripts/get_maintainer.pl              |    3 
 sound/pci/hda/hda_codec.c              |   46 +++++-
 sound/pci/hda/hda_codec.h              |    2 
 sound/pci/hda/hda_intel.c              |    2 
 sound/soc/codecs/wm8904.c              |   26 +--
 sound/soc/codecs/wm8996.c              |    8 -
 sound/soc/pxa/pxa-ssp.c                |   38 +----
 sound/soc/tegra/tegra_wm8903.c         |   13 +
 sound/usb/6fire/firmware.c             |    2 
 sound/usb/pcm.c                        |   21 +-
 tools/hv/hv_kvp_daemon.c               |   10 -
 tools/perf/builtin-stat.c              |    8 -
 tools/perf/util/header.c               |   48 +++++-
 tools/perf/util/include/linux/bitops.h |    2 
 tools/perf/util/session.c              |   10 +
 tools/perf/util/session.h              |    1 
 virt/kvm/assigned-dev.c                |    4 
 37 files changed, 510 insertions(+), 171 deletions(-)
$

在这里您可以看到,对于选定的目录,在 3.5-rc3 和 3.5-rc4 之间,大部分工作都在添加调试代码(当天真地假设添加/删除的每一行代表相同的工作量时)。

于 2012-06-30T15:36:57.183 回答
1

您可以尝试类似 Software Cities 之类的东西,它在最近的一篇论文中有所介绍:

F. Steinbrückner 和 C. Lewerentz。2010. 代表软件城市的发展历史。在第五届软件可视化国际研讨会论文集(SOFTVIS '10)中。ACM,纽约,纽约,美国,193-202。DOI=1 0.1145/1879211.1879239PDF链接

Java JDK 6 的软件城市示例

于 2012-08-21T15:42:22.870 回答