IT高手的修炼秘笈,第1张

IT高手的修炼秘笈,第2张

成为一名武术大师需要很长时间的努力学习和刻苦练习。成为软件开发高手需要多长时间?《现代C++设计》的作者安德烈·亚历山德雷斯库认为,一个人在20多岁时成为编程大师是可能的,但他需要熬夜到35岁左右才能成为设计大师。23岁大学毕业需要12年的漫长时间。

就拿我自己来说吧(我还是不敢认为自己是设计大师)。22岁大学毕业,在一个研究所里用8086汇编语言写一些小规模的程序,还是挺顺手的。任何可以用流程图表示的问题似乎都不在话下。在工作中,与同事讨论结构化编程,并有意识地在实践中运用。

三年后,我承担了一项垂直任务:在Windows上开发一个交互式排版系统。使用Windows SDK开发。兴奋之余,自然想到用结构化的方法设计:把整个系统当成一个黑盒,输出的当然是排版。因此,不管格式如何,输入都是???。我卡住了。用户操作是输入吗?但是用户操作那么多,怎么表达呢?系统的数据流图怎么画?字典里的数据怎么写?和同事讨论了n遍,还是想不通。郁闷的时候先模仿Quark Express设置一个界面。然后研究排版算法。经过至少三次大规模的程序结构修改,终于发布了部分格式,两年后通过了鉴定(鉴定后当然是束之高阁)。我意识到结构化开发方法不适合开发交互式系统。在开发初期,你不太可能正确的画出数据流图,结构化的设计方法完全依赖于数据流图。当数据流改变时,整个程序结构也会改变。

后来我加入了一家合资公司,担任开发组长,团队成员有五六个。此时,我已经阅读了邵伟中等人翻译的《面向对象分析》中译本和杨福清主编的《面向对象设计与代码全集》。虽然对面向对象编程有所了解,但还是一知半解。

首先,我们用MSVC 1.5开发了一个图形编辑软件。我用纸画了20多张实物图,和同事讨论通过,开始编程。有人负责数据模型、用户界面和图形显示。几个月后,老板可以向潜在用户展示,反响不错。老板和开发者都被一种兴奋所笼罩。我们在不断增加新功能,老板也不时在展会上做演示。功能都加起来了,潜在用户开始试用了。老板和我们都松了一口气:剩下的就是纠正错误了。我们一直在战斗,没有什么好害怕的。错误报告来了。我们自信地开始检查和纠正我们的错误。一些错误很快得到纠正。但是最后我们发现错误不断。纠正一个错误可能会导致其他错误。该软件将永远无法使用。最后错过了机会。这个软件不得不被削减。抑郁之后,我们做了一些自省。大家都觉得错误应该尽早改正。同时,我隐约觉得数据模型和用户界面程序必须严格分离,否则程序将极难修改。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » IT高手的修炼秘笈

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情