• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Zero Lee的專欄

            建造原型的代價

            ???編寫原型也是編寫代碼。原型具有與編寫代碼相同的慣性和成本,但是缺乏真正的軟件產品所要求的可靠性、穩定性。軟件的原型類似于建筑工程中的腳手架,而真正的軟件和石墻類似,具有永久、可維護、可擴展的特性。經理們不愿舍棄能夠工作的代碼,即便是原型代碼。他們說不出腳手架和石墻的區別。
            ???編寫原型要比編寫真正的程序快得多。編寫原型的費用很低,因而極具吸引力。但是只有通過真正的程序才能建造可靠的產品,而原型是脆弱的平臺。原型是應該拋棄的實驗程序,但是實際上很少如此。經理們查看原型后會問:“我們不能將它用于產品嗎?”對于程序員來說,通俗的回答是很困難的。經理們奢望通過使用原型來節約數以月計的編程時間。
            ???良好編程的精髓在于后期的滿足感。先期辛勤工作,后期收獲。多數手工工作都非常昂貴。而程序一旦編寫完畢,就可以運行百萬次而不需要額外成本。最昂貴的程序是只運行一次的程序,最便宜的程序是運行百萬次的程序。但是,便宜程序中的任何問題也會出現百億次。軟件的經濟原理讓多數人感到陌生:最便宜程序的編寫成本最為昂貴,最昂貴程序的編寫成本最為低廉。
            ???編寫大的程序有些像堆砌一疊磚塊。將1000塊疊放起來,需要及其精確的放置每一塊磚。如果第998塊磚偏移了1/4英寸,將余下的兩快擺上去不會有什么問題。但是如果第5塊就沒有擺好,擺放10塊以上的磚幾乎不可能的。
            ???軟件也具有這樣的特性。對于軟件基礎部分的變動要比對上面部分的變動敏感得多。現實當中,多數程序員起始于錯誤的起點,隨著進程而不斷修正行進路線。因而,程序充滿著修改過的痕跡。很多功能需求是在編程開始之后才發現的。這些功能被強行加入到程序中。程序修改的痕跡與疊放磚塊的偏移類似。將一個按牛從對話框的一側移到另一側,就像搖晃一下第998塊磚,但是修改描述所有按鈕的代碼,就像搖晃第5塊磚。面向對象編程技術和封裝技術是專門讓程序免于修改傷痕的防范技巧。但是確切地說,面向對象技術只是將1000塊磚分割成10組100塊磚,不是根本的解決之道。
            ???水平高的程序員在編寫大程序之前,花費很多時間和精力做準備工作。單配置編程環境就需要幾天的時間。還需要選擇合適的程序庫,定義數據項。還必須對存儲恢復系統作出分析,對其進行定義、編碼和測試。
            ???隨著編程工作的展開,程序員們必然會發現計劃中的錯誤、假設中的缺陷。他們面臨兩個選擇,或者從頭再來,或者對程序中有問題的部分打補丁,引入新的“傷痕”。選擇前者的成本非常高,不過選擇后者,“傷痕”將限制程序的規模——疊加磚塊的高度。

            posted on 2006-12-22 10:55 Zero Lee 閱讀(588) 評論(2)  編輯 收藏 引用 所屬分類: Experience and Thought

            評論

            # re: 建造原型的代價 2006-12-22 12:19 pengkuny

            長見識了,疊磚論精辟!  回復  更多評論   

            # re: 建造原型的代價 2006-12-22 14:17 LOGOS

            [quote]面向對象技術只是將1000塊磚分割成10組100塊磚,不是根本的解決之道[/quote]
            有理。
            原型代碼確實是為了扔掉而扔掉的。  回復  更多評論   

            久久伊人精品青青草原高清| 久久久久av无码免费网| 久久精品成人免费看| 91精品日韩人妻无码久久不卡| 久久男人AV资源网站| 久久这里只有精品18| 久久久久国产一区二区三区| 久久亚洲国产精品成人AV秋霞| 996久久国产精品线观看| 香蕉久久永久视频| 色成年激情久久综合| 亚洲色大成网站WWW久久九九| 91精品国产91久久| 久久精品亚洲日本波多野结衣| 性做久久久久久久久| 国产69精品久久久久99| 久久久噜噜噜久久中文福利| 日日狠狠久久偷偷色综合免费| 狠狠色婷婷综合天天久久丁香| 狠狠色婷婷久久综合频道日韩| 久久久久无码精品| 精品久久久久一区二区三区 | 国产精品久久久久久吹潮| 久久99热精品| 99久久精品免费看国产一区二区三区 | 亚洲精品无码专区久久久| 久久精品国产亚洲精品| 国产A级毛片久久久精品毛片| 麻豆AV一区二区三区久久 | 久久青青草原精品国产不卡| 久久99久久99小草精品免视看| 久久婷婷五月综合色高清| 亚洲午夜久久久久久噜噜噜| 国产精品久久婷婷六月丁香| 久久午夜免费视频| 久久婷婷五月综合国产尤物app| 亚洲精品成人网久久久久久| 无码国内精品久久人妻麻豆按摩| 色婷婷久久久SWAG精品| 久久亚洲精品成人无码网站| 97精品国产97久久久久久免费|