將程式記在腦子裡

agile_boy發表於2009-03-16

最近,在一篇名為《將程式記在腦子裡》的文章中,Paul Graham認為“程式碼就是你對某個問題的理解。所以,只有當你把程式碼牢記在腦子裡,才算真正地理解問題“。不幸的是,正如每個程式設計師所知,說起來容易做起來難:

把程式記下來不是件容易的事兒。如果你想要撿起幾個月前的一個專案,並再一次真正想清楚它是怎麼一回事,那可能要花上幾天的功夫。即使是你手頭上的一個程式,在每天開始工作時,你可能也要花上半個小時才能真正回想起來。這裡有個最好的例子。那些在經典辦公環境下工作的普通程式設計師從來不會遇到這種情況,說得更嚴重一些,工作在經典辦公環境下的普通程式設計師從來沒有真正地理解他們正在解決什麼樣的問題。

因此,開發人員怎麼做才能讓程式牢記在腦中呢?Graham給出了八點建議:

  1. 避免分心
  2. 一口氣做久一點
  3. 使用簡潔的程式語言
  4. 持續重構
  5. 寫易讀的程式碼
  6. 小團隊工作
  7. 避免多人編輯同一程式碼塊
  8. 從小事做起

敏捷過程和實踐可以看作是將創業起步階段公司裡的自發形成的做法對映成可在大組織裡推行的措施。作為種子投資公司Y Combinator的合夥人, Paul Graham的大部分建議是針對剛起步的小公司提出的,因此,問題就變成了以上建議如何對應到敏捷實踐?當然,大多數敏捷開發者習慣於寫可讀性程式碼,持續重構,小團隊工作,以及從最小卻提供真正價值的小事兒做起。而且很多敏捷開發者還不斷採納更有威力的語言,如RubyErlangHaskell,甚至Common Lisp

但是,對於不太容易對映到敏捷實踐的那些建議又怎麼認識呢?(1)和(2)是緊密相連的,而且有些人會認為,共享工作空間反而容易分心。另一個常見的敏捷實踐就是程式碼集體所有制,與(7)相矛盾。這麼說來,是敏捷擁躉們做錯了嗎?還是這些實踐之間的衝突反映了大公司和小公司工作方式有某種不可避免的差異呢?

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14639675/viewspace-567456/,如需轉載,請註明出處,否則將追究法律責任。

相關文章