Linda Rising

聰明人的盲點#

程式設計師通常都很聰明,但正因如此,他們常認為:既然自己解決的問題很困難,那麼解決方案對其他人來說也理所當然地困難。他們甚至覺得,自己幾個月前寫的程式碼,日後要理解和維護也會很費力。

Joe 的故事#

作者回憶了一個教學場景:學生 Joe 興奮地展示他的資料結構作業,確信沒有人能猜到程式碼的功能。作者問他:

  • 「你有個弟弟 Phil,正在學程式設計。假設幾年後 Phil 被聘來維護你寫的這段程式碼,你為他做了什麼準備?」

Joe 一開始沒有意識到問題所在。作者引導他換個角度思考:

把你寫的每一行程式碼,想像成給未來某個人的訊息。 那個人可能是你的弟弟妹妹,或是任何聰明但需要理解你工作的人。假裝你正在向他們解釋如何解決這個困難的問題。

追求程式碼之美#

作者進一步啟發 Joe:想像未來的聰明程式設計師看到你的程式碼時,會不會說「這是傑作!」?

  • 能解決困難問題的程式碼,應該像一首動人的旋律一樣優美
  • 任何人面對同樣困難的問題,都可能寫出優美的解決方案
  • 程式碼的清晰度與美感,和功能正確性同樣重要

核心啟示#

每一行程式碼都是寫給未來的訊息。你的目標不只是讓程式能執行,而是讓未來的維護者能輕鬆理解你的意圖,並為你的作品感到讚嘆。

Joe 最終領悟了:「我要去讓這個世界對 Phil 更好一點。」