杂谈

经济危机席卷之下人人自危,原先的公司也是激流滚滚。幸好在关键的时候遇到了贵人,找到一份新的工作,我幸我幸。

新的公司是一家美国公司,算起来也有很多年的开发历史了。曾经我对外国的软件水准还是抱着相当大的幻想的,希望能够在这样的环境里继续汲取养分填充自己。但是事实开始推翻我的遐想了。走马上任第一天居然在程序中看到了大量的静态函数调用,广泛的分布于程序的每一个角落,我不禁开始流汗了。

刚刚结束了一个和美国人合作开发的项目,我在这里面打打边而已没有多少实际的工作参与的也不深入。程序完成之时我拿他和中国这边自己做的一个功能类似的程序做了一下运行比较,结果他们的程序足足多消耗了近十倍的资源而且还非常的不稳定。

新的公司工作至今让我至少有了2点经验:
1. 不要过于迷信美国的软件水准。的确那边有高人,很高很高的高人,但是菜鸟无论是比例还是数量恐怕都不比我们这边低。
2. 曾经与我合作的2个同事对于我来说很高很高的,总是让我不由自主的仰望并常常的惭愧于自己水准的低下。到了这边才发现自己可以更多的自信了,原来很多人的水准还在我之下。

最后的结论:虚心必要,非常的必要;自信必要,非常的必要

楼主说得对,道理是周全的,有的人听到“要知足”,就听不到“还要知不足”。知足还要知不足。

恭喜啊,找到工作了

赞同你的说法

首先 恭喜楼主找到一份满意工作,
我不赞同楼主意见:采用大量静态函数影响性能就否定xx
大量采用静态函数也许有他的道理,曾经我搞过普元eos开发,eos构件绝大部分采用静态函数,以xml格式文本作参数。但他承接的项目大部分都是大项目,(收费高,小项目用不划算)性能方面我就不发表意见了【对硬件要求会相对高】,我要说的是 eos中间件在国内外也受到很多公司,个人肯定。当然在国内还没普及,不过夜渗透到各个重要行业

静态的意思就是这个类的生命周期是永存的,永垂不朽的,现实中你看到万事万物哪个永垂不朽了?

对象是有生命的,没有生命的就不是对象,不用面向对象设计的软件的生命周期也有限,不用OO,软件开发起来很快,甲方大单位也乐意看到软件很快能用了,但是随着时间发展,甲方不断提出新的需求,而不用OO,不用Evans DDD开发的软件明显降低开发效率,最后不得不放弃重新开发。

这就是软件质量的关键,买空调电视知道质量很重要,但是购买软件的人有几个知道软件质量?以为软件实现了自己需要的功能就是完成质量的错误认识很多,空调能够制冷就是高质量了吗?

所以,很多对软件错误的认识导致很多可笑错误的结论,很多人喜欢用现象和结果来推导原因,基本逻辑都是错误的。
[该贴被banq于2009-10-27 12:02修改过]

静态函数是个很方便的东西上手就用,但是他的缺点也是致命的:不可变化

就上ls说的如果不考虑变化这简直是个完美的东西,但是存在不变的东西么?至少我没有见过。

世界是发展的,这本身就注定了世界上的一切都是在变化的,要发展续存就必须做出改变,软件自然也无法逃脱这样的命运。当然如果那个软件也是象隐形眼镜一样的月抛型就不用考虑这个了。

我这样的说法也受到了一些同事的BS,呵呵,没有办法的事情。

静态函数区别于非静态,只是它不需要一个实例化的对象,如果业务场景是这样,为什么要排斥呢?

前天来过并留下脚印,看到banq的评论,我还是觉得banq观点有点言过其实,首先不谈论静态函数的利与弊,的确世间万物都是变化的,没有绝对永恒的。面向对象不错,普元的eos是面向构件开发,其实也有面向对象思想,不管什么思想方法只要得到绝大数人的肯定,就有它的道理,至少在当时。再先进的思想如果没人得到当前的肯定也是没有意义的,就像美好的共产主义。在国内,面向对象思想推广的确还有很长路要走。

====静态函数区别于非静态,只是它不需要一个实例化的对象
接下来的一层意思是“静态”是没有办法被替换的,还是我上面说的如果是“月抛”型的肯定没有问题,但是如果牵扯到长期的使用和维护,后面的代价就会比较大了。

要自信,是对的。但是也不要随便否定别人。
楼主如此泛泛而谈,还不如展开说说静态与动态的优劣。