`

[fun]我们的代码规模比起来还是差得远

阅读更多


       我们的团队一直埋怨说我们的代码规模太大,结构太复杂,维护难度大而成本高。

       最明显的一个弊病,就是在clearcase里面打开一个文件的version tree,密密麻麻,横七竖八,我们戏称为"蜘蛛网"。

        然而昨天一位出差在外的同事,在维护公司另外一个产品的时候,有了惊喜发现:

        我们的代码规模比起来还是差得远!

        有图为证:



        我的评价只有一个字:

        晕!

PS:

解释一下,有些朋友没有用过版本控制软件的version tree,可能不大明白。

这个是version tree,是一个文件(注意,只是一个文件)的版本和分支历史,一般的版本控制软件都会提供类似的视图。

图上蓝色直线条的是这个文件的不同分支和这个这个分支下的不同版本,红色的线条是code merge,就是从一个分支的某个版本merge 代码到另外一个分支上时为了表示这种merge关系而增加一种表示方式。

从图上看,这个文件的分支过百了,版本应该过千,红色的merge线在某些地方已经要凝成实体了。这表明在这些版本之间有非常频繁的code merge。

再补充一下:
    这个图片里面有些地方红线密集程度有些不大对劲,某些分支几乎每个版本修改都有被merge。正常开发中不应该是这样的,通常都只会是某个或某几个版本被merge。
    猜测出现这个情况的可能,有一种解释就是可能在开发时使用了某些自动merge的工具,当该分支每出现一个新版本时就自动merge到某个目标分支,以保证两个分支代码的高度一致。当然这个无法证实,只是我的一个猜测。

0
0
分享到:
评论

相关推荐

    matlab开发-structfun2

    在MATLAB编程环境中,`structfun` 是一个非常实用的函数,它允许我们对结构数组的每个字段执行相同的操作。本教程重点讲解的是 `structfun2`,它扩展了 `structfun` 的功能,可以同时处理两个输入结构,并对它们的...

    fun_dNR0.zip_Fun_ Fun_ Fun_第二相析出Matlab代码

    标题 "fun_dNR0.zip_Fun_ Fun_ Fun_第二相析出Matlab代码" 提供的信息表明,这个压缩包包含的是与第二相析出相关的MATLAB编程代码。MATLAB是一种广泛使用的数值计算和编程环境,尤其在工程、科学和数学领域应用广泛...

    replace32fun matlab代码下载

    信息隐藏技术实验教程中diamondreplace.m的子涵数replace32fun.m

    fun.zip_Fun_ Fun_ Fun_机动路径规划

    "Fun.zip_Fun_ Fun_ Fun_机动路径规划"这个压缩包文件显然聚焦于路径规划的实践应用,尤其是针对机动目标的路径设计。以下是关于路径规划、随机梯度算法、相对梯度算法以及轨道机动仿真的详细介绍: 1. **路径规划*...

    boost库中mem_fun示例代码, 用于将成员函数转化为函数指针

    总的来说,`boost::mem_fun`是C++中一种强大的工具,它使得成员函数可以像普通函数一样被传递和调用,提高了代码的灵活性和可复用性。在C++11之后,`std::bind`和`std::function`提供了更多的功能和更好的兼容性,但...

    Pku acm 第1579题 Function Run Fun 代码,

    Pku acm 第1579题 Function Run Fun 代码,有详细的注释,动态规划

    fun.zip_Fun_ Fun_ Fun

    标题中的"fun.zip_Fun_ Fun_ Fun"可能是指一个包含与编程娱乐相关的项目的压缩文件,其中"Fun"可能是项目的核心主题或者代表了一系列有趣、挑战性的编程任务。描述提到的是"1-20中所有和为20的组合,递归实现",这...

    Fun.rar_Fun_ Fun_ Fun

    标题“Fun.rar_Fun_ Fun_ Fun”暗示了这个压缩包可能包含了一些与趣味性和娱乐性相关的程序或资源,而描述中的“动态异型窗口,较为漂亮,堪比WPF制作效果”则明确指出,这些内容可能涉及到了具有高级视觉效果的窗口...

    coding4fun控件

    【标签】"Coding4Fun"是这个库的标识,它代表了这个项目的核心理念——让编码变得有趣。这个标签也常用于相关的讨论、文档和示例代码,帮助开发者快速找到与Coding4Fun控件相关的信息。 在提供的【压缩包子文件的...

    FUN3D手册,非结构求解器的编译过程及其后处理

    ### FUN3D手册,非结构求解器的编译过程及其后处理 #### 1. 概述 FUN3D是一款先进的非结构网格CFD(计算流体力学)求解程序,适用于二维和三维的各种构型,支持定常与非定常流体问题的数值模拟。该软件使用有限...

    fun.rar_Fun_ Fun_ Fun_PowerBuilder_his

    标签"fun _fun _fun powerbuilder his"进一步强调了这个资源包与PowerBuilder编程和HIS系统的关联,同时"fun"的重复可能意味着这些函数设计得易于使用或者具有一定的创新性。 在压缩包内的文件名称列表中,我们只...

    main-fun.rar_Fun_ Fun_ Fun_main-fun.c

    在标题"main-fun.rar_Fun_ Fun_ Fun_main-fun.c"中,`main-fun.c`可能是一个实现了多任务功能的C语言源代码文件,其重点在于"Fun",暗示了这个程序可能设计得既实用又有趣。 描述中提到的时间片轮转(Time-Slicing...

    fun转换fun转换

    fun转fun转fun转换fun转换fun转换fun转换fun转换fun转换fun转换fun转换

    c_search_fun.rar_Fun_ Fun_ Fun

    《C语言速查手册——探索C函数的乐趣》 在编程世界中,C语言以其简洁、高效和强大的系统级编程能力而备受青睐。对于初学者来说,掌握C语言的关键在于...在学习的旅程中,让我们一起享受C语言带来的"Fun _fun _fun"吧!

    ttt.zip_Fun_ Fun_ Fun

    "ttt.zip_Fun_ Fun_ Fun"这一压缩包,显然为我们带来了一款充满趣味性的游戏——"Fun Noughts and Crosses",即我们熟知的"井字游戏"(Tic Tac Toe)。这款游戏简单易懂,但又不失策略性,适合各个年龄段的玩家,是...

    aaa.rar_Fun_ Fun_ Fun

    "aaa.rar_Fun_ Fun_ Fun"这个标题可能是指一个压缩包,其中包含了一些与计算积分相关的程序或资源,而"Fun"可能是用于表示函数或者是这个压缩包中的某个关键部分的命名模式。 描述中提到的"函数返回值为积分结果,...

    cfd几个源代码

    标题中的“cfd几个源代码”指的是计算流体动力学(Computational Fluid Dynamics,简称CFD)的一些源代码。CFD是一种数值方法,用于模拟和分析流体流动、热传递和化学反应等复杂现象。在工程设计、科学研究以及环境...

    FUN.rar_Fun_ Fun_ Fun

    总结起来,"FUN.rar_Fun_ Fun_ Fun"这个项目展示了遗传算法在函数最优化问题上的应用,通过模拟生物进化过程,探索复杂函数的最小值。这一软件不仅能够帮助用户理解遗传算法的工作原理,同时也提供了一个实用的工具...

    fun-question.rar_Fun_ Fun_ Fun

    在IT领域,我们经常需要处理各种类型的文件,其中包括压缩包。"fun-question.rar_Fun_ Fun_ Fun"这个文件标题暗示着它可能包含了一些有趣的、挑战性的题目或者谜题,很可能是为了娱乐或者锻炼思维而设计的。描述中的...

    MFC_Test_Fun.rar_Fun_ Fun_ Fun_mfc添加函数

    在这个例子中,`ON_BN_CLICKED(IDC_BUTTON_FUN, &CFunFunFunDialog::OnBnClickedButtonFun)`将`OnBnClickedButtonFun`函数与ID为` IDC_BUTTON_FUN`的按钮关联起来。 在完成上述步骤后,你需要在项目的资源文件中...

Global site tag (gtag.js) - Google Analytics