You have delighted us long enough.

— Jane Austen, Pride and Prejudice

核心概念#

務實的程式設計師不會逃避責任。相反,我們樂於接受挑戰,並以讓自己的專業知識廣為人知為榮。如果我們負責一個設計或一段程式碼,我們會做一份值得自豪的工作。

Tip 97 - Sign Your Work(為你的作品簽名)

過去的工匠以在自己的作品上簽名為榮。你也應該如此。

所有權與團隊#

然而,專案團隊仍然是由人組成的,而「簽名」這個規則可能造成問題。在一些專案中,程式碼所有權(code ownership)的概念可能導致合作問題。人們可能變得有領地意識,或不願意在共同的基礎元素上工作。專案可能最終變成一堆孤立的小領地。你變得對自己的程式碼有偏見,對同事的程式碼也有偏見。

那不是我們想要的。你不應該嫉妒地防衛你的程式碼不受「入侵者」侵犯;同樣地,你應該尊重地對待他人的程式碼。黃金法則(「己所欲,施於人」)和開發者之間相互尊重的基礎對於這個 tip 的運作至關重要。

匿名的危害#

匿名,特別是在大型專案中,可能成為草率、錯誤、懶惰和糟糕程式碼的溫床。太容易把自己視為齒輪中的一環,產出無盡的藉口型狀態報告而非好的程式碼。

程式碼必須有人負責,但不必是個人。事實上,Kent Beck 的極限編程(eXtreme Programming)推薦程式碼的共同所有權(communal ownership)——但這也需要額外的實踐,如結對編程,來防範匿名的危害。

以品質為簽名#

我們想看到所有權的自豪感。「我寫了這個,我為我的作品負責。」你的簽名應該被認可為品質的指標。人們應該看到你的名字出現在一段程式碼上,就期待它是扎實的、寫得好的、經過測試的、有文件的。一份真正專業的工作。由一位專業人士所寫。

一位務實的程式設計師。

相關章節#

  • Topic 1,這是您的人生
  • Topic 2,貓吃了我的原始碼
  • Topic 49,務實的團隊