35年編程史沈澱下來的8條寶貴經驗(轉)
阿新 • • 發佈:2017-10-25
幫助 工作流程 為什麽 這就是 提高自己 如何 人工 定期 技能 1. 時刻提醒自己:學習
學習某件事的第一步是承認你不知道。這聽起來很正常,但經驗豐富的程序員還記得要真正讓自己承認這一點需要花多長時間。很多計算機科學專業的學生畢業的時候,都有一種很傲慢的態度,就是“我知道最好的”,但其實這只是一種虛張聲勢,他們不知道從哪裏來的自信,就好像他們什麽都知道,並且需要向每一位新同事強烈的證明這一點。換句話說:你所謂的“我知道我在做什麽!”這種態度會妨礙你學習新的東西。
2. 不要試圖證明自己是正確的
要想成為優秀的人,你必須學會吃一塹長一智。但是千萬小心,經驗也可能教會我們重復一些不良行為,甚至也教會我們養成一些不好的習慣。我們都遇到過有8年經驗的程序員。對於他們來說,同樣的經歷,重復了8次。為了避免這種綜合癥,看看你做的每一種事情,然後問自己:“我怎樣才能讓它變得更好?”
新手(以及很多經驗豐富的開發人員)會看著他們自己寫的代碼,欣賞它的奇妙。他們編寫測試來證明他們寫的代碼是可以運行的,而不是試圖讓它運行失敗。真正優秀的程序員會積極地尋找他們的錯誤在哪裏,因為他們知道最終用戶會發現這些遺漏的bug。
3. “代碼可以運行了”這個目標不是終點,而是起點
是的,你的第一步總是想寫出質量很高的代碼,而且代碼上面都寫滿了註釋。但是一般的程序員在這一點上就退出,然後繼續下一件事。
但是一旦“完成”就停止了這種思想就像是拍一張快照,然後期待它是一件藝術品一樣。偉大的程序員都知道第一次叠代只是一次叠代。它運行起來了,恭喜你!但你的工作還有很多。現在,使它變的更好。
其實這個過程就是在定義“更好”的含義。讓它變得更快能有什麽價值嗎?可重用更高有什麽好處嗎?更可靠嗎?答案隨著每個應用程序的不同而不同,但是過程都是一樣的。
4. 寫三次代碼
好的程序員目標是寫出可以運行的軟件就可以了。偉大的程序員寫出來的軟件目標是運行得非常好。通過一次編寫這種情況幾乎不可能發生。最好的軟件通常被寫三次:
- 首先,編寫軟件以向你自己(或客戶)證明解決方案是可行的。其他人可能沒有意識到這只是一個概念驗證,但你確實這麽做了。
- 第二次可以讓它正常地運行。
- 第三次你能夠讓它平穩的運行。
- 那塊代碼我該怎麽寫呢?既然你已經看到了別人的解決方案,那你會有什麽思路呢?
- 我學到了什麽?我如何將這種技術應用到我過去編寫的代碼中?(“我從來沒有想過可以使用遞歸下降處理那塊的邏輯”)。
- 我如何改進這段代碼?如果這是一個開源項目,你對自己的解決方案更有信心,那就去做吧!
- 以作者的風格編寫代碼。練習這個可以幫助你進入作者的思維,這可以提高你的同情心。
35年編程史沈澱下來的8條寶貴經驗(轉)