《文心雕龙》与软件开发

    南北朝时候著名的文学理伦家刘勰写了一本书叫做《文心雕龙》,这本书大概可以算上是我国古代最系统、最出色的一本文学评论专著了,历代的文学研究者都对它推崇倍至。不过,还没有多少程序员肯下功夫仔细读一读《文心雕龙》,还没有哪个程序员意识到《文心雕龙》对软件开发的重要指导价值。其实,写文章和写软件本来都是相通的,我觉得,像《文心雕龙》这样探讨如何写出好文章的典籍,对我们程序员写出好软件一定也会有很大的帮助。
    《文心雕龙》里面有一章叫做《熔裁》,是讲如何提炼文章的性情、体裁、风格和情意的。要是用到软件开发领域的话,我发现《熔裁》这一章里有相当多的内容都是在论述软件设计的基本理论和基本原则的。比如下一段:
  “凡思绪初发,辞采苦杂,心非权衡,势必轻重。是以草创鸿笔,先标三准:履端于始,则设情以位体;举正于中,则酌事以取类;归馀于终,则撮辞以举要。然后舒华布实,献替节文;绳墨以外,美材既斫,故能首尾圆合,条贯统序。若术不素定,而委心逐辞,异端丛至,骈赘必多。”
    如果大家还不明白这段古文的话,我现在就一边翻译,一边把我从这段话里发现的有关软件设计的思想告诉大家。上面这段话的意思是这样的:
    在我们开始构思的时候,一般会苦于头绪繁多,辞采杂乱(这一句的意思是说我们开始编写需求说明书的时候,必然会被繁多的功能需求搅得头昏脑涨、顾此失彼),我们的心思不能像天平那样准确称量,这就势必会有或轻或重的毛病。这是说我们分析客户需求的时候必须把需求内容量化,并把需求精确地描述为《需求说明书》或《规格说明书》,这就像我们在实验课上用高精度的物理天平称量物体质量一样。因此,要想写好文章,必须先定出三个准则:第一步要根据情理来决定体制;第二步要根据内容来选择事例;第三步要选择合适的文辞来突出文章的要义。然后才可以开花结果,去芜存菁,调节文字,就像好的木材一样,墨线以外的地方都已经砍削过了,这样才能够从开头到结尾都圆满切合,有条理、有系统。要是不先定出这些准则,想到什么就写什么,杂乱的念头纷至沓来,那么文章里多余、累赘的东西一定很多。
    设计出好软件的三个准则:对软件设计来说,第一步要根据客户需求的特性来确定软件的技术模型,描绘出大的框架;第二步根据需求的内容来取舍和确定软件中的功能模块;第三步要选择具体的算法来实现特定的功能。然后才能进入软件的详细设计阶段,进一步评估和调整算法流程、数据结构、模块接口等设计细节,这样才能够从开头到结尾都圆满切合,有条理、有系统。如果不定出设计准则、不明确用户的需求就设计软件,甚至直接进入编码阶段,随想随写,随写随改,那么最终得到的软件就一定会Bug多多。
    如果有时间有兴趣的话,大家可以仔细读一读《文心雕龙》,相信这本书里还有许多对我们程序员来说大有裨益的东西。

你可能感兴趣的:(文学,文心雕龙,软件开发)