[易 易 部 落]--分 享 技 术 和 思 想

《易经》简易之道与软件开发方法

作者:Eureka

摘自易经系辞:

乾以易知,坤以简能。
易则易知,简则易从。
易知则有亲,易从则有功。
有亲则可久,有功则可大。
可久则贤人之德,可大则贤人之业。
易简而天下之理得矣。
天下之理得,而成位乎其中矣。

细读了,深觉《易经》“乾”、“坤”简易之道实乃软件开发之王道,如果能按照上述规则来构建软件,则不至于将项目限入到《人月神话》所述的焦油坑之中了。 下面我用软件开发过程以解释简易之道:

乾以易知,坤以简能”,软件开发之道就是让设计和代码保持尽量的“简”,尽量的“易”,如果在面向对象设计中,“简”就是该重用就重用,绝不重复(DRY),方法要设计的短小,类要设计的简单。(详见Bob大叔的《代码整洁之道》**“易”就是设计要让人容易理解,代码要自说明,读代码就象读文章一样。任何让人不容易理解的设计方法都无益于软件的可持续发展。

易则易知,简则易从”,设计方法容易,编码简单,由让人容易理解。代码保持简洁,无重复代码,则让后续开发容易遵从。就象.Net Framework的设计,其可持续发展之道就是这两个字“简”和“易”。参见获Jolt大奖的书《.NET Framework 设计规范——.NET约定、惯用法与模式》,该书第一章第一节第一小段就强调“精心设计的框架是简单的”。

易知则有亲,易从则有功”,设计的让容易理解就具有亲和性,让人从易遵从就有了发展的功力。软件开发和使用过程其实是个演化过程。编码、设计只是演化过程中的一些动作而已,让软件能长久存在,就必须具有可演化的基础,而这基础就是“易知”和“易从”。

有亲则可久,有功则可大”,正是这简单性让.Net Framework得到现在这样的发展。正是有很多人使用.Net Framework这样的框架才使得该框架发展壮大。其实不单是.Net,任何好的软件和应用系统,包括操作系统,象Windows,Iphone,都因其使用的“简便性”而得到发展壮大,有些用户体验差的产品就被历史淘汰,则不可久。只有使用的人多了,才能壮大。当易用性差的产品,其“可久”,“可大”就很值得考虑。

可久则贤人之德,可大则贤人之业”。可久,可大,则成就了软件之德,象Linux,象GitHub等等,可久,可大,所以成就了软件之事业。

易简而天下之理得矣。天下之理得,而成位乎其中矣”。正是因为“易”、“简”,软件开发和设计这个天下的道理就得到了。得到这个道理,我们软件开发人员就可以在其中成就自己了。

开发软件的同行们,是不是也会有同样的感触呢?


下面您可根据自己的喜好分别使用“Disqus”或者“多说”进行留言评论: