《软件工程实践者的思想(PDF格式)》第23章


…104
…………………………………………………………Page 109……………………………………………………………
『大道至简』
问题是:又有谁愿意在最初签订协议的时候,就降低 
或者放弃协议的标的呢?
6。 枝节与细节
刚才说到目标和质量的问题时,提及“平衡时间、资 
源和功能三者的关系”。这其实是一个实施过程中的细节。 
或者说,它是一个具体的方法,而不是目的。
所以我们通常所说的细节,其实是对实施方法的一些 
有限量的描绘。比如“软件工艺”这个概念本身的提出, 
就是考究“细节问题”的。从这个角度上来说,我并不反 
对“细节决定成败”这样的观点。但请注意一个前提:这 
是技术或方法的细部。
我其实在前面的行文中一再地混用了“细节”与“枝 
节”这两个词。枝节是事实发展的次要的分枝,它不涉及 
行为本身,也不是对行为本身的考量。因此我在前面的文 
字中说到“跳出细节”,其实的本意是“跳出枝节”。—— 
细节只有做到何种程度的问题,而不并是关不关注(或做 
不做) 的问题。
大多数情况下,管理人员有责任去审核、评估其它成 
员的工作成果。这个时候可以讨论“细节决定成败”这样 
的问题,因为这决定了产品的最终质量,而质量是工程的 
目标之一。
而在另一些情况下,例如管理人员做事件的决策的时 
…105
…………………………………………………………Page 110……………………………………………………………
第 8 章 是思考还是思想
候,就必须要学会忽略枝节问题。
混淆这两个名词的使用,其根本原因在于一大部分读 
者并不能区分“细节”与“枝节”。从惯于“实做”的程 
序员一路走来的工程人员,很难分清自己什么时候是在 
“工作”,而什么时候又是在“决策”。
因此我只好用最笨的方法提示管理者:别管它是细节 
还是枝节,只要你感到你的脚趾已经沾上了泥淖,就快点 
回头。
用脚趾去感觉,有时比用头脑去思维来得有效。
7。 灵活的软件工程
并不象现代人想见的那样,古诗词一定是“逐字论平 
仄”的。变化或者变通,其实是常见之事。因此古词谱中, 
才常会见到冠以“摊破”、“减字”、“添字”等字的词格。 
然则古人在词格上的这种变通,是基于“音律”的。
通常说的词律是指词格,这与音律是两回事。词律(格) 
是平仄,音律则是乐器、音调与歌舞。古词中用来吟唱与 
歌舞的词牌就不能混用,律不同,调不同,如是之。
“古人做词的变格,势必依音律而为之,舍周邦彦、东坡、 
辛弃疾此等人物,轻易变格,是为他人所笑话的。所以,词谱中 
所录变格既少,且俱为名家所创。”
然而古词的音律( 亦即是律谱) 已经失传了,也就是 
说,今天的词是用来读的,不是唱,也不是舞,甚至连吟 
哦也不是。所以今人总是拿普通话中的 1、2 声作为平声, 
…106
…………………………………………………………Page 111……………………………………………………………
『大道至简』
3 、4 声为仄声来填词,并以此论平仄,而全然不想词的 
格律的根基是“词律”与“音律”这两个部分的融合。
我曾经参与过一个讨论,叫“古人是如何说话的”。 
在我看来,古人做文章和说话是两回事,文章中之乎者也, 
日常交流中还是市井俚语的。因此评论中会说“以俚语入 
词”。也可见填词作文章与说话毕竟是不同。再者说话也 
存在方言的问题,因此方言之间平仄音调也当不同。古代 
的歌妓是要求会“官话”的,这相当于现在“普通话”的 
地位,她们歌唱起来,也是用的“官话”。
更进一步的推论是:古代的词律中的平仄是以官话为 
基础的。然而如今的普通话毕竟不是古时的“官话”,也 
就是说,即使我们以普通话的四声为基础在论平仄,在古 
人看来,也是可笑的:这样做出来的词,依旧不可唱,也 
不可读。
因此今人做词的标准,是应该重定的了。除了词格(这 
里仅指字句的格式)和用韵之外,其它的部分是无法遵循 
的了。在各字的平仄以及句式上,应当以“能通顺”和“能 
品味”为准,风格上则以古雅为益。
仅此而已。
对于我这样的格律观点,一位网友曾有一句“未蕴而 
变,自欺也。知律而变,智者之道也”,实为良言。变向 
不变求。不变者,万变之所源,亦万变之所归。习诗词之 
法度,若蚕虫之结茧,若无结茧于前,何有破茧于后?故, 
知律而变,智者之道也。
…107
…………………………………………………………Page 112……………………………………………………………
第 8 章 是思考还是思想
“知律而变”中的“律”字,若解释作“规律”,那 
么便是可以用于软件工程中的了。“道”是规律,如果明 
“道”,而可以变化无穷,这样做软件工程才是活的。就 
如同今人难于填词一样,不明道,则不明智,不明智则无 
所以为,因而在软件工程实施中不可避免的盲目与停滞。
“知律”的另一层意思,是在于“知道原理”。明白 
“为什么要这样”或者“为什么不是那样”。这在软件开 
发中是常见的问题,大多数人不知究竟地使用着技巧和方 
法,而一旦出了问题,则归究于这些技巧和方法的不好。 
而真正的问题在于,这些人(我们通常叫做 Copy&Paster) 
并不知道这些技巧、技术和方法的原理,因而不知道变通, 
也不知道回避错误。
所以死读一本《软件工程》的人不会做真正的软件工 
程。
所以我写《大道至简——软件工程实践者的思想》。
…108
…………………………………………………………Page 113……………………………………………………………
附 录
一、Jiangtao; Aimingoo关于序言的对谈(2005。11。06)
Jiangtao说:
大部分的人都希望看到招术,而不是学习其中之道。
但每个人碰到的情况是不同的,不通“道”,招数就不灵了。
Aimingoo 说:
是啊。明白道理,明白原理,即知变化之道,知变通之道。
亦步亦趋学不好编程,同理,也学不好工程啊。
Aimingoo 说:
正如你说所〃道理归到底是相通的〃,不同的人只是在换着不同的 
方式在说而已。
Aimingoo 说:
像GoF这样深彻的理解,并不多。而我们看到GoF对他们的理解的 
解释,文字量并不大。而更多的是别的人的、种种不同的说法。—— 
其实,根源在哪里呢?在GoF的思考,以及他们对既有事物的观察方法。
Jiang Tao 说:
易经,论语也很短,却可以解释世界万物之理,当然其中任何一 
个话题展开也可以写成长篇大论。
Aimingoo 说:
从写作手法上,看作散文集亦无妨。但我是有大纲然后逐一先成 
的,也就是
小说推荐
返回首页返回目录