最近刚到一个公司上班,公司发出去了一个外包项目要接收,一个用C#开发的C/S程序,我就跟着领导跑去接收,事先我问领导关于这次接收的指导思想,领导说这是朋友关系做的外包,不必挑刺。跑过去看了他们的程序,领导说还不错,我也刚来不清楚,于是程序交接,钱也付了。
回来看程序,傻眼了,只有低质量的源代码,缺少文档。我工作5年,亲自写下了数十万行程序,虽然没人教,但各种编程规范还是摸索得透彻。这个外包程序的代码有些不入我的法眼,对此我能忍受。领导说这个程序要搞单机版,而这个程序里面有不少存储过程和触发器,这得改,我的数据库水平很平庸,但也认了。
最近发现一个问题,程序需要维实时护界面上的一些状态标记,这些状态信息来自数据库,他到好,窗体上放了定时器,300毫秒的间隔,每次连接数据库,查询不少数据,然后关闭数据库。如此高频度的查询数据,我还是第一次看到,这导致的直接结果就是用户毫无操作但CPU使用率却是100%。如此的写程序可以说是毫无常识。一个客户端都如此,那用不了几个客户端,再强大的数据库服务器也会崩溃。
这时我就感叹,C#是一流的编程语言,使用的是最先进的VS.NET IDE 2005,可惜写出了三流的程序。有些人抱怨这个编程语言慢,那个框架反应迟钝。其实很多是自己的程序的问题。此处建议各位同学少参合语言框架之争,多埋头打理自己的程序吧。
此处我得出一个教训,对别人的仁慈就是对自己的残忍,对于外包,在正常情况下,应当借着甲方的身份严把质量关,因为不管怎样,程序最终还是我们自己维护的,粗制滥造的程序最终会让我们头痛。此时不必为了一些面子而破坏我们的美好生活。
袁永福( http://www.xdesigner.cn ) 2006-10-26