软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
相当精彩的文章:重写Lotus Notes的公式引擎

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

非常有趣的文章 。简单说,就是一个牛人(Damien Katz)厌倦了无休无止开发Lotus Notes模板的工作(对不熟悉Lotus Notes 模板的老大们:Lotus Notes模板的开发和JSP/ASP有些像,都是用脚本调用后台的功能搭建用户界面),于是接下了维护Lotus Notes Formula Language Engine(如果你不知道Lotus Notes公式语言的话:它是Lotus Notes 4前Notes上唯一的开发语言)的工作。接下这个烫手山芋的时候,他写了5年模板,对C有极少的了解,而对C++更是一窍不通。而他开始写模板前就写成了。整个Iris没有人完全了解这个引擎。公式引擎用的字节存储格式连文档都没有。当时错误报告堆积如山,但没有人愿意或者能够修补那些问题。就在这种情况下,这个牛人开始了重写整个引擎的冒险。他先修补了所有存档的错误,然后写出了字节存储格式的详细文档,最后提前彻底重写了整个引擎。我觉得有意思的地方:
0. 最有意思的还是Damien的文章本身。如果读了Damien的文章,下面的不看也罢。

1. 激情至关重要。只有激情才能驱使我们百折不挠,搞定看起来高不可攀的项目。
2. 资深工程师往往以为他们做不出来的东西别人也做不出来。
3. 语言的细节往往不是决定项目成败的关键。Damien在重写前才开始看Bjarne Stroustrup的<<C++ Programming Language>>,还没有看完。
4. 恰当的工程方法相当重要。比如详细的数据格式文档,比如在项目的功能正常后再考虑局部优化, 比如渐进式开发,比如隔离底层的指针计算。
5. “10年C++经验资深工程师”一类的招人条件往往让公司和牛人擦肩而过。能找到既牛经验又丰富的人当然不错。但二者不可兼得时,还是要舍经验而取牛。
6. 好的经理难得。如果没有Wai Ki Yip , 多半没有这段让目眩神迷的故事了。
7. 有好的经理也是因为有好的文化。<<Peopleware>>没有过时。
8. 向后兼容不是那么遥不可及,就看我们有没有决心。
9. 做好UI不容易,但做久了也无趣(当然,做到Neilson那个级别又是另外一回事了)。



相关文章

相关软件