绝知此事要躬行
云风Blog中提到:“一个好的设计一定是很容易做到平台无关的”,这句话我无力论证,但是三年前我所维护过的二进制跨平台的**Engine,至少说明了好的设计是平台无关的必要非充分条件。夜里思考新版的UILogic,无法入睡,于是起来翻阅**Engine的工程代码。
反观三年前的这份工作,实在是滥竽充数。悠闲的维护,仅仅成为了装点门面的谈资。在一家老字号的软件公司,自然也不乏余秋雨《风雨天一阁》中所述的同类型的故事——某某人多少年也无缘传说中的引擎代码的流言。巧言令色的结果就是,在离职的时候,我身上的印记仅有编码命名规范、错误处理框架、防御性编程等等这些老生常谈。
那么接下来的几年固然要吃很多苦头,bug数目、代码效率、所耗费的开发时间、逻辑流程和设计意识,使自己的代码能力受到了一次次的严肃拷问。
今天收到MindMeister的邮件,说我有122天没有登录。这说明从参与目前这个软件的框架设计到今天,已经过去了一年的三分之一。这是我第一次和同事们从无到有的构建一款软件。这中间依旧暴露除了许多问题,具体说来主要是依旧岌岌可危的错乱、勉强可用的逻辑(以MessageManager为最)和在赶工期阶段,毫无头绪胡乱安置的相互纠缠的头文件。前者导致了大量愚蠢的bug,后者浪费了巨大的编译时间。
刚才用vc6加载了早在十几年前就已经大成的Engine代码,F7按下,近三十万行代码,几十个模块快速利落的呈现“0 error(s), 0 warning(s)”。不由的想起师兄曾经说过的一句话,Engine代码的精妙之处在于,以某两人之力,从代码风格天衣无缝到设计实现恰到好处,对现在很多优秀的程序员来讲,即使你把设计原理和精义剖析给他们看,他们也未必能够重新做出来同等级别的实现。
这样的话语说出来和听起来都不费吹灰之力,但是如果追寻前辈们的足迹和传说,实在不是容易的事情。想起陆游诗的前两句:“古人学问无遗力, 少壮工夫老始成”,是为记。
反观三年前的这份工作,实在是滥竽充数。悠闲的维护,仅仅成为了装点门面的谈资。在一家老字号的软件公司,自然也不乏余秋雨《风雨天一阁》中所述的同类型的故事——某某人多少年也无缘传说中的引擎代码的流言。巧言令色的结果就是,在离职的时候,我身上的印记仅有编码命名规范、错误处理框架、防御性编程等等这些老生常谈。
那么接下来的几年固然要吃很多苦头,bug数目、代码效率、所耗费的开发时间、逻辑流程和设计意识,使自己的代码能力受到了一次次的严肃拷问。
今天收到MindMeister的邮件,说我有122天没有登录。这说明从参与目前这个软件的框架设计到今天,已经过去了一年的三分之一。这是我第一次和同事们从无到有的构建一款软件。这中间依旧暴露除了许多问题,具体说来主要是依旧岌岌可危的错乱、勉强可用的逻辑(以MessageManager为最)和在赶工期阶段,毫无头绪胡乱安置的相互纠缠的头文件。前者导致了大量愚蠢的bug,后者浪费了巨大的编译时间。
刚才用vc6加载了早在十几年前就已经大成的Engine代码,F7按下,近三十万行代码,几十个模块快速利落的呈现“0 error(s), 0 warning(s)”。不由的想起师兄曾经说过的一句话,Engine代码的精妙之处在于,以某两人之力,从代码风格天衣无缝到设计实现恰到好处,对现在很多优秀的程序员来讲,即使你把设计原理和精义剖析给他们看,他们也未必能够重新做出来同等级别的实现。
这样的话语说出来和听起来都不费吹灰之力,但是如果追寻前辈们的足迹和传说,实在不是容易的事情。想起陆游诗的前两句:“古人学问无遗力, 少壮工夫老始成”,是为记。
还没人赞这篇日记