天天看點

《黑客與畫家》書摘

  • 創造優美事物的方式往往不是從頭做起,而是在現有成果的基礎上做一些小小的調整,或者将已有的觀點用比較新的方式組合起來。
  • 黑客搞懂“計算理論”的必要性,與畫家搞懂顔料化學成分的必要性差不多大。
  • 大公司隻要做到不太爛,就能赢。
  • 好玩的軟體的需求量,比不上解決客戶麻煩問題的軟體的需求量。在小劇場裡演出的酬勞,比不上穿着卡通大猩猩服裝、在展覽會上為廠商站台的酬勞。寫小說的回報比不上寫廣告文案的回報。開發程式設計語言的收入,比不上把某些公司老掉牙的資料庫連上伺服器的收入。
  • 就我所知,當多個畫家共同創作一幅作品時,每個人畫的部分都是不一樣的。通常來說,大師負責畫主要人物,助手們負責畫次要人物和背景。但是,你肯定找不到某個部分是兩個人一起畫的。我認為,這也是多人共同開發一個軟體的正确模式。需要合作,但是不要“合”得過頭。如果一個代碼塊由三四個人共同開發,就沒有人真正“擁有”這塊代碼。最終,它就會變得像一個公用雜物間,沒人管理,又髒又亂,到處堆滿了備援代碼。正确的合作方法是将項目分割成嚴格定義的子產品,每一個子產品由一個人明确負責。子產品與子產品之間的接口經過精心設計,如果可能的話,最好把文檔說明寫得像程式設計語言規範那樣清晰。

繼續閱讀