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