爸爸和無我編程十條誡律
在爸爸去世前,我和他談論了2個星期關于編程的事。
我22歲,一個在大學里攻讀美術設計的四年級的學生。爸爸62歲,一個很老的爸爸。早在世紀60年代他就在田納西理工大學編程,他在打孔紙帶上做FORTRAN開發。他知識豐富。
這個學期我才剛剛開始接觸編程,而我的整個腦子全被它吸引住了。編程很神奇,很強大,在很多方面比圖像設計更富創造性(我會在另外的文章里談論這個話題)。
在我假期回到家時,爸爸向我分享了無我編程的十條誡律。他把它打印出來,逐條和我討論。這是在他意外去世前我們僅有的關于編程的討論。也許這是讓我對此念念不忘的原因。
來自寫于1971年的《程序開發心理學(The Psychology of Computer Programming)》,下面就是這無我編程十條誡律:
- 理解和接受自己會犯錯誤。關鍵是要盡早發現,在錯誤進入到最終產品前發現它們。幸運的是,除了我們少數幾個在噴氣推進實驗所開發火箭導航系統的人外,在軟件行業中犯錯誤通常不會導致災難性事故。我們可以,也應該從錯誤中吸取教訓,微笑,并繼續前進。
- 你不是你的代碼。記住代碼審查的全部目的就是去發現問題,相信問題會被我們發現。當有問題疏漏時不要自責。
- 不管你對“空手道”有多了解,一定會有人知道的更多。如果你去問,這樣的人可以告訴你一些新的招數。從別人那里尋找和接受新的知識,特別是那些你認為不需要的知識。
- 不要在沒有討論的情況下重寫代碼。在“調整代碼”和“重寫代碼”之間有一條很細致的界限,你應該在代碼審查的制度下做風格上的調整,不要獨斷專行。
- 對那些不如你的人要尊敬,禮遇,有耐心。經常跟開發人員打交道的非技術人士通常持有這樣的觀點:程序員憑借一技之長狂放不羈。不要讓你的發怒和缺乏耐性讓他們心中的這種形象加深。
- 這世界上唯一不變的就是變化。開放思考,面帶微笑的接受它。把需求上、平臺或工具里的每個改變都視作一種新的挑戰,而不是把它們當作大麻煩來抵制。
- 真正的權威來自知識,而不是職位。知識造就權威,權威帶來尊敬——所以,如果你想在一個無私的環境中獲得尊敬,去培養自己的知識吧。
- 為信仰奮斗,但我文雅的接受失敗。要理解,有時候你的想法會被拒絕。即使你是對的,你也不要報復或說“I told you so.”千萬不要讓你心愛的被拋棄的想法變成殉道者或抱怨素材。
- 不要成為“角落里的程序員。”不要成為隱藏在黑暗辦公室里、只因為口渴才出現的人。藏在角落的里程序員短視、與世隔絕、不受控制。這樣的人在公開的、合作的工作環境中發不出聲音。參與到交流中,成為你的辦公室團體中的一員。
- 批評代碼而不是人——對編碼人友善,但不要對代碼友善。盡可能的讓你的批評具有積極性,以改進代碼為目標。批評要聯系本地標準,編程規格文檔和提高后的性能等。
這個十條誡律至今伴隨這我。它讓我成為了一名更好的程序員。有時我在想,如果爸爸還在我身邊,他還會給我哪些建議?雖然我不知道,但我相信,他會為我一直記住這些而高興的。
更多關于爸爸的信息,請閱讀Frank Bush對計算機業的貢獻,這是有他在田納西理工大學的同事們收集編輯的。
[本文英文原文鏈接:Dad and the Ten Commandments of Egoless Programming ]
載自: 外刊IT評論 http://www.aqee.net/
本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!