9 Z4 O$ B+ y7 n1 ~" N g9 U) Q5 g
9 N* |: p" N. T. a9 c' g
很简单,犯事者的程序模块设计有着严重的问题,他用unix script做程序主干,用两层script循环来多次调用同一个java程序来完成任务,造成了巨大的进程开销、性能问题、可靠性问题与可维护性问题,同时在数据库访问方面没有处理好交易控制,在产生的文件格式方面没有满足客户的需要。以这样漏洞百出的玩意儿,能打赢才怪了。! o( ^4 p- x( B* M
' y% R& T* ~. Q4 g4 f这个人的问题在于,他的经验主要在web方面,对unix和数据库不熟,而这个项目恰恰用到了他的弱点,他的主管却没有关注到这点,同时没有审核他的程序设计和具体实现,于是灾难发生了。 6 e1 K s) n; ]! x2 W! j, a' w I! M" ~. C
我不知道你在哪里,在我这里,多伦多地区,软件方案及其实现的弱智问题很普遍也很严重,以至于经常成为我们大家吃饭时闲聊的笑料。它们之所以能够存在,主要是混事的太多了,从客户到服务商都一样。% l" b( W& ?. X# |7 h( H' g
2 R' e' Q! S% Q举个例子,我这里一家主要的银行,一个项目用了四百个人,其中六十个程序员,使用了复杂的项目设计,结果项目严重延期而且产品性能很差。我们私下里讨论解决方案的时候,一致认为解决办法很简单,人员砍掉三分之一,方案大幅度简化,就没问题了。但是对方客户不答应,因为很高层的老板喜欢这个方案,同时喜欢大兵团作战,因此我们的建议在政治上通不过。* s- z) S' d( |: ^4 U6 i' E* s8 \) q0 Q" d