友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
第三电子书 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

软件工程实践者的思想(PDF格式)-第13部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!




                                     …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 说:  



    从写作手法上,看作散文集亦无妨。但我是有大纲然后逐一先成 

的,也就是说,在思想上是有中心并渐次展开的。  



      

                                                  …109


…………………………………………………………Page 114……………………………………………………………

后语  



Aimingoo 说:  



    《程序员》选了6;7;8三章发表,其实很正确。因为6;7两章的确 

讲述了中心思想。但如果没有前面的,就有骨无肉,不丰满了。  



Jiang Tao 说:  



   我知道,你有一个逻辑关系组织,不过每一篇其实是散着谈的。  



Jiang Tao 说:  



   你是从根上谈起,一篇篇往后。  



Aimingoo 说:  



   对对,每一篇与其它的段落,并没有直接关系。  



  



Jiang Tao 说:  



   前面的道理大家觉得自己都明白,其实只是知道道理,却没有体 

会上身。  

   所以会不断地犯错误,而不知道错误的根源。  



Aimingoo 说:  



   是的。“知道”和“理解”,以及“理解”和“领悟”,都是不 

同的境界。  



Jiang Tao 说:  



   我们和这些专家正相反,专家是从根上来的,我们是从道理往后 

寻找根源。  

   大部分人还根本不找。只是用这个结果,却不知道根在哪里。  



Aimingoo 说:  



   对。我们做事,总是做到后来才发现道理与专家们说的是一样的。 

我读书的时候,以及在Coder的一个很长的阶段,也是很排斥“专家” 

和“理论”的。但现在我却在思考理论的东西。  



Aimingoo 说:  



   因为我发现,这些理论,以及其背后的思想,是一切演化的根源。  



                                       …110


…………………………………………………………Page 115……………………………………………………………

                                    『大道至简』  



   如果不想沦为代码工人,甚或代码机器,那么就需要思考并领会 

这些背后的道理。  



  



Aimingoo 说:  



   我在脚注里面,有一些文字是很值得关注的,例如:“其实所谓 

 ‘经典’也是对既有知识的总结。大师们所知的,与你所思考的未必 

就有天壤之别。”  

   再如“《三十六计》更多的时候是被当成方法论来读的。其根源 

在于‘计谋’本身只是方法,而不是战略。”  



Jiang Tao 说:  



   就是这个理,不过这一关不好过。  

   围棋的学习有四个阶段:记住定式 应用定式 忘掉定式 创造定 

式。  



Aimingoo 说:  



   大多数时候,“文字”只是思想的结果的描述。我希望更多的人 

看到思考的过程,并知道其价值。如你所说,我也希望人们忘掉我所 

说的,并创造自己的“定式”,乃至达到“法无定法”的境界。  



Aimingoo 说:  



   所以我在甚至希望大家最终将这本书束之高阁,“思想已经领悟, 

文字的、纸质的东西还有什么价值吗?”  



  



Jiang Tao 说:  



   等电子版发表后,我们可以组织感兴趣的人延伸讨论讨论;很多主 

题是可以展开讨论的。  

   对照自己的问题,再看这些思考,就会有感觉了;这样就有案例出 

来了。  



Aimingoo 说:  



   好啊。非常不错的主意。  



                                      …111


…………………………………………………………Page 116……………………………………………………………

后语  



            后     语  



前言后语  



   你现在读到的文字,原本应该是这本书的前言的。然 



而如今,它变成了后语。  



   如果读者是客户,那么我就应该是这本书的工程管理 



人员了。与第一次著书不同,这一次我已经尝试参与整个 



 “做书”的过程。我必须要考虑客户问题,必须要知道作 



为客户或者读者这个角色的你,在想些什么,或关注些什 



么。  



   在这本书的最最最初的时间里,我把书稿给了我的老 



朋友王寒松。然而我很失望地听到他的意见:这个前言没 



法读。——我想了又想,是的,因为有了玄而又玄的观点 



以及曲折旁引的论述,所以的确不是太容易读。  



   从我的角度上讲:  



   )  这个前言总括地讲述了我的观点  



   从读者的角度上讲:  



   )  读者关注的是细节的文字  



   )  读者享受的是阅读的快乐  



   发现我在“做书”的这件事中扮演的是工程管理人员 



的角色的同时,我就决定了这篇前言应该改成后语。原因 



很简单,客户并不关注我对观点的总括,至少一开始他们 



不会关注。如果要客户做结论,或者要他们与技术人员讨 



论结论,那就让他们在看完演示之后,在最最后的阶段去 



                             …112


…………………………………………………………Page 117……………………………………………………………

                            『大道至简』  



做。  



   读者的阅读行为决定了我将这篇文字放在这个位置: 



这篇前言既不是细节的文字,又不能给读者以阅读的快 



乐,因此它就应该放在后面。至于它是叫前言,还是改名 



叫后语,那只是形式的问题。  



   如果你觉得你的项目中还有一个模块不是用户所关 



注的,那么,En ,建议调整一下明天的客户演示,把这一 



部分放到幻灯的最后一页的后面,只有客户提及时,才拿 



出来跟他们解说。  



   否则,如果他们不感兴趣,那么他们将永远看不到这 



张幻灯。一如这一篇前言。  



软件工程  



   如果做一份软件工程中的经典书目,决不会有人漏掉 



Roger S。Pressman 著的《软件工程》。这本书有第四、五版 



梅宏教授译著的中译本。然而相信读这本书的人不会太多 



的注意到它的副标题是“实践者的研究方法”。——从根 



源上说,它是讲述软件工程方法的书,而不是软件工程思 



想。  



   这有什么区别呢?拿这本书来作为软件工程活动的 



参考时,绝大多数的人不能明白类似如下的问题:  



   )  为什么要这样做呢?  



   )  我们这里应该这样做,但是接下去呢?  



   )  这个环节很重要,但是如果不做会有怎样的风 



      险?  



                              …113
返回目录 上一页 下一页 回到顶部 1 1
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!