学习C++已经2年多了,自己也从当初啥都不懂的菜鸟变成了懂了一些皮毛的菜鸟。最近在一个开发组中遇到了一点以前完全没有意识到的问题:
开发的Team Leader是标准的自学成才的高手,对于他我很敬佩,但是有一点实在有些无法忍受:以“能用就行”的心态进行开发。
程序架构杂乱如麻,虽然是以C#进行开发,却充斥着海量的Static全局变量和函数;无视容器间的差别,一个List走天下;不关心算法的执行效率,复杂度和稳定性,只要能运行出结果哪怕出现o(2^n)也没所谓;而命名上则最是令人发指,如果说一个全局的名为dirty变量还能多少猜一点意思的话,某form里华丽丽的label1到label13就真是让人心中如千万匹草泥马奔腾而过了。
但是神奇的事也在于:
这样一个共享开发了5年的以上,沉积了近15万行代码(绝大多数是leader写的)的程序,竟然依托着C#强大的managed code功能和日新月异的硬件性能到现在活的还很滋润。
这样的事实让我一方面反思学院派是否有了太多的教条主义想法在作祟,另一方面也在感慨leader的运气。虽然各种bug层出不穷甚至包括轻易会导致软件崩溃的致命bug,但是依然顽强的活了下来并且在不断的成长中。