我之前在一家做push email 开发的老美公司,整个产品规模很大,光客户端的代码就有3百多万行代码。架构也极其的复杂。客户端几十个线程,上层是跨平台的。发送一封email的流程非常艰涩,光中间一层传递流程的函数调用深度就有18层,我戏称之为“18层地狱”。
这样的程序之前一直在波兰的一家外包公司维护,现在波兰site关闭了,整个系统移交到中国这边来做。前期波兰派几名工程师过来给我们培训,从他们给中国这边的培训效果来看,他们也一直停留在表层修补的水平,稍微深入一点就浑然不解了,看样子老美也是节约成本和图省事,也不管接手人水平如何,能否管理好这样庞大的系统,只要产品能赚钱,产品能以较低的成本被人维护就可以了。所谓教科书上的软件工程,架构设计,代码重构之类的也只是比较理想的理论而已,真正到实际中好多时候根本不是那么回事。这样的维护工作不但很无趣,而且很痛苦的。还是那种外科手术类型的团队能够保证代码质量,工作上也富有创造性,愉悦性。