當心:工具的美貌 (原文發表於2006-06-29 下午12:12:33 )

我這周在芬蘭的弗羅茨瓦夫(譯者注:Wroclaw爲一位客戶作諮詢。(那是過去叫佈雷斯勞(譯者注:Breslau的德國城鎮,而現在發VRAHT-swahf的音。)這週末我拜訪了這裏的考古博物館,就在城鎮的廣場旁。當我觀看這博物館的時候,我被那些創造箭、鉤、斧子、罐、籃子和所有其他日常生活中的物品的遠古人類的細心所震撼了。這些物品肯定曾花去幾小時、幾天、或是幾周去創建;而且那個時代的人民也認爲所花費的那些時間是值得的。

       我端詳了一支箭幾分鐘時間。這支箭是完全的實用主義風格。它沒有各種裝飾。而它卻那麼的顯得工藝高超而且美觀。杆只是個木棒,但它的直挺和整齊卻無疑是經過悉心挑選的。箭頭是粗糙的石英做的,而它的輪廓修整的與箭桿相協調而箭頭與箭桿也穩固地切合。這種修整緊湊、規則、而又精確的。整個的物件給我留下了深刻的印象。一些人花費了很大的艱辛來打造它。一些人是很細心的。

       而更令人印象深刻的還是一個古老的織布機。這個設備使用樹枝製造的。就像那支箭一樣,它未經修飾而且表面粗糙。而這又是個了不起的設計品,並且經過縝密的思索而成。對我來說這隻需花上幾分鐘時間就能明白它是如何運行的。從便利的線繩,到那能交替的分離線繩以至於它不會在織物穿梭之中而拖拉纏繞的靈巧的線杆。這個設備是遠古手工藝技術和工程上的傑作。

       我也被使用這臺織布機所需的小心謹慎所震撼。僅僅是去裝配好這些線繩不花上一天時間也要好幾小時。所有其他的線繩必須要與線杆通過一條長度剛剛好的寬鬆繩子相連,以至於當織布者拉動線杆的時候,那些線會被剩餘的線繩拉開。這一定要小心謹慎而避免讓線繩纏繞。

       我從這次經歷獲得的精神是:工藝打造不能有任何的粗心!用另一個方式來說,你無須修飾就可以展示出偉大的工藝品。工藝品不在意外表的華麗,在意的是內在的美;實用的美。

       我從這些遠古設備中學習到的和爲之震撼的地方是,如果他們能花費如此巨大的心思在打造和使用這些手工藝品上的話,那我們這些軟件工程師也能做到。作爲一個軟件諮詢師我看到了非常多的代碼。我經常被這中間的大量代碼構造的不經意所驚駭。好像那些作者是因爲太忙於達到工具的成功而放棄了細心。而那些箭、織布機和那麼多博物館中的物品卻告訴我的是工藝的成功是細心的結果。

       如果我們是軟件專家的話我們就要關注我們的工藝,關注我們的工藝製品。我們不能丟下一堆代碼然後修修補補直到他們大體上能運行,而應該注意確保代碼是經過認真思考的,認真書寫的,認真測試的,而且認真的寫文檔的。

       我所帶的綠色護腕(譯者注:green wrist-band,一種優秀的敏捷人的榮耀,可參見Martin之前的blog告訴我測試優先(譯者注:TEST FIRST,一種敏捷開發的優秀方法)是謹慎的專家態度的標誌。它代表了我對我自己和我的專業所下的承諾,我不會對我的代碼粗心

 

作者小注:

弗羅茨瓦夫太棒了!

弗羅茨瓦是個漂亮的邊陲城市,與蘇聯鎮壓和控制的時期相比,它現在恢復得非常棒。城市的廣場華麗、生機勃勃、而且繁榮。大學正在培養出一批批新的聰敏敢爲的畢業生。商業正在形成,有很多革新的建築。簡而言之,食美物興。

 

(原文鏈接網址:http://www.butunclebob.com/ArticleS.UncleBob.TakingCare; Robert C. Martin的英文blog網址: http://www.butunclebob.com/ArticleS.UncleBob

譯者注:Robert C. Martin是Object Mentor公司總裁,面向對象設計、模式、UML、敏捷方法學和極限編程領域內的資深顧問。他不僅是Jolt獲獎圖書《敏捷軟件開發:原則、模式與實踐》(中文版)(《敏捷軟件開發》(英文影印版))的作者,還是暢銷書Designing Object-Oriented C++ Applications Using the Booch Method的作者。Martin是Pattern Languages of Program Design 3和More C++ Gems的主編,並與James Newkirk合著了XP in Practice。他是國際程序員大會上著名的發言人,並在C++ Report雜誌擔任過4年的編輯。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章