光著膀子寫程序

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            2 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
          http://canonical.blogdriver.com/canonical/741069.html

            敏捷(Agile)開發的靈魂是演化(evolution),其具體的過程表現為迭代 (iteration),迭代的每一步就是重構(refactor),而單元測試(unit test)與持續集成(continuous integration)模擬了程序生存的環境(約束),是merciless refactoring的技術保障。從數學上我們知道迭代總有個收斂問題。一些重型方法將變化(無論是正方向還是反方向的)等價于風險,而傾向于消除開發 中的不確定性,其中的迭代是趨于迅速收斂的。敏捷的迭代是開放式的,強調擁抱變化。敏捷編程排斥過度設計,除了過度設計會增加成本之外,另一個原因就是過 度設計會阻礙重構,阻礙變化。敏捷的目標不是僵化的穩定性而是靈活的適應性。當然敏捷迭代本身并不能保證系統持久的適應性,即使是自然界中的迭代和演化, 失敗的案例也是比比皆是。大量的生物物種在經歷了歷史的輝煌之后最終仍然難免被歲月所埋葬。

              在哲學上,一個悖論式說法是有存在于無中,或者說簡單才能更復雜。杯子是空的,所以能包容萬物。現在什么都沒做,將來才能根據需要決定如何去做。所謂魚與 熊掌不可兼得,一旦做出了選擇,可能意味著必須放棄將來進行其他選擇的機會。簡單的目的不僅僅是為了最快的完成當前的任務,而且要為將來保留變化的可能。 過分強調目的性,我想是違背了演化的本質。高手過招,最忌把招數用老。我們所要做的是盡量推遲決定的時刻,并切實的保證自己隨時擁有選擇的權利。

              多樣性是在演化中生存的關鍵。但多樣性不是后天的。生物學的實驗證實,物種的變異并不是環境變化后發生的,而是始終存在著并隱藏著,環境僅僅起了檢選和倍 增的作用。適應性的系統總要允許一定的灰色地帶,有時do something for nothing.

          posted on 2005-08-11 11:37 Hut 閱讀(514) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 定远县| 浮梁县| 高雄县| 富蕴县| 龙川县| 湟源县| 三亚市| 磴口县| 宜丰县| 长寿区| 曲沃县| 富裕县| 建宁县| 郯城县| 商河县| 洪泽县| 桓台县| 健康| 南和县| 渭源县| 平远县| 屏山县| 绍兴县| 寻甸| 乌鲁木齐市| 永吉县| 玉溪市| 华亭县| 临湘市| 灵寿县| 金乡县| 武清区| 黎川县| 宝鸡市| 阜阳市| 福建省| 巧家县| 博乐市| 大安市| 仪征市| 高邮市|