2011年5月1日 星期日

程式開發者可記的九大經典名句

剛逛到Dan的部落格,我不認識他,從部落格內容看起來他應該是位優秀的C#, .net程式設計師。看到他的新文記錄了九個對他自己有重大影響名句佳言,大部分筆者自己都沒聽過,學到了並試著翻譯並加入自己的心得,分享如後:

設計是關於找問題,自身並不是解答。

Leslie Chicoine


正好最近用ipad 2在看itune上姚仁祿先生的“設計邊境” podcast,他也說設法從現狀想辦法靠近期望的能力等於「設計」。這跟Leslie說的有異曲同工之妙。



功能規格書根本不起作用。

37signals


這話很嚴重,但從37signals口中說出來就不意外。他們認為功能規格書是在資訊不充足下,就得做出關鍵性決定,這樣寫出來的文件可說只是在幻想,而更糟的是功能規格書還可能限制了改變,重新評估與版本演進的可能性。37signals說,”不要寫功能規格書!”。

什麼是Legacy Code?就是一堆沒有留下測試的程式碼。

Michael Feathers


Michael是敏捷開發與XP社群的活躍成員,對於各類軟體開發方法論都有深入的見解。對於需要維護公司舊系統的你,是否心有戚戚焉?但只要你寫的新程式沒有寫測試,你的程式碼交出去之後馬上也就會變成legacy code。



任何傻瓜都能寫出電腦看的懂得程式碼。但只有好的程式設計師能寫出人看得懂的程式碼。

Martin Fowler


Martin是位大師,專長在物件導向分析與設計, UML,敏捷開發方法論…等。如果你熟悉Dependency Injection ,而且發現這東西很難懂卻又偉大,你就知道Martin有多強了,因為那是他發明的詞。



Testing shows the presence,not the absence of bugs.

Edsger


得過1972 Turing Award的大師Edsger W. Dijkstra講了這句話,真是難翻譯,若有網友有好翻法,請留言告知。我去翻了這句話的原文出處,在1969 年的NATO軟體工程會議中,針對測試方法與技巧進行討論時,他說了這句經典,測試無法辦法顯示出臭蟲不存在,



簡化不先於複雜發生,而是在之後。

Alan Perlis


對於真正困難的問題類型,如果沒有知道複雜的全貌,是無從簡化起的。相反地,一開始就能簡化的問題,大概那個問題真的是簡單的不得了。



真正的開發者會交出產品。

Jeff Attwood


如果身為一個開發者,不以交出產品給市場為前提來工作,常常喊著需要更多的時間來開發,或因未知的技術問題裹足不前,猶豫不做行動等等,嚴格來看他不是個真正的開發者。面對各種的未知與挑戰的最好方法,就是交出產品,讓市場驗證。



沒有什麼是萬靈丹。

Frederick Brooks


人月神話作者Frederick說相較於硬體開發,軟體開發不存在單一技術或管理技巧的發展能確定在十年內提昇軟體的生產力也好,穩定度也好,簡單易用也好,統統不行。軟體發展的萬靈丹並不存在。他也說,每兩年要提昇兩倍也是不可能的。



如果今天是我生命的最後一天,我會想要做我今天將做的事情嗎?

Steve Jobs


這是名言了。知道的人很多很多,因此只翻譯一小段。完整原文請到這邊去看。

沒有留言:

張貼留言