如何成為一個偉大的開發者(二)

作者簡介:Peter Nixey,Ruby on Rails程序員,前計算機視覺學者、企業傢,Clickpass公司CEO,YC孵化器的企業規劃導師,Brojure公司CTO。

積累——先求深,再求廣

程序員在開發過程中,常常會遇到各種各樣的問題,但很少是完全陌生、其它團隊也沒有遇到過的。在Stack Overflow上最吸引眼球的提問,大多曾在其它地方出現過。

多數時候,程序員所用的編程語言本身就自帶瞭解決方案。筆者曾經調用一個封裝好的內建函數,將一段60行代碼重構到1行。

重復造車輪般的過程去實現那些編程語言內建的函數不僅浪費時間,也意味著程序的代碼將更冗長,還可能引入bug,需要更多的單元測試和註釋文檔。

好好打牢自己的基礎吧!如果你是一個ruby程序員,就好好學習Ruby豐富的數組方法;如果是Node開發者,就好好去理解node.js的架構;如果是Angular程序員,就去理解其內核背後的邏輯。在動手實現之前,先仔細查閱文檔。記住,我們都站在巨人的肩膀上。把時間花去學習那些頂尖程序員的思路和方法,要正確的多。

培養對代碼的嗅覺

很多程序員水平不錯但是遇到瞭平臺期,問題常常出在他們不知道如何提升自己。這也許是技術生涯裡能夠遇到的最糟糕的事情瞭。要想知道如何提升自己,首先得知道需要在哪方面有所提升。一個優秀的象棋手,總是會花時間研究其他優秀棋手的路數,對於一個優秀的程序員來說,也是如此。

要想提升自己,最好的辦法莫過於培養對代碼的嗅覺。哪怕不能清楚地說出原因,也能察覺到一段代碼的問題在哪裡。什麼是代碼嗅覺?比如讀到一段很難懂的代碼,會察覺到哪裡有問題。面對一個很基礎的功能,你會覺得語言本身應該有函數封裝。要培養對代碼的嗅覺,需要培養對代碼的審美水平。代碼之美,簡單優雅!

在開發的過程中,應該力圖將代碼寫的簡單優雅。如果隻能用復雜醜陋的方法實現,那起碼要邏輯清晰。沒有對優雅和糟糕代碼的嗅覺,技術水平將難以提升。

提升代碼可讀性

Joel Spolsky曾經說過,Stack Exchange不僅造福那些提問者,也造福那些看到提問的閱讀者。為什麼?因為許多人遇到的問題都是相似的,這些相似的問題都可以參考這個解決方案進行處理,效用便最大化瞭。

程序員寫代碼時也應采用類似的策略。也許代碼僅由你自己寫,且隻寫瞭一次,但它會被很多人閱讀、修改。所以,在寫代碼的時候,除瞭完成任務以外,還應力圖不給後來人造成麻煩。在開發過程中,除瞭有良好的命名規范,還需要用嚴格的單元測試來保證代碼足夠耐用,經得起考驗。種因得果,設想一下,一年之後在完全沒有耐心,時間又緊迫的情況下,讓你來讀現在寫下的代碼,你理解那種心情吧!

via peter nixey

相關:

如何成為一個偉大的開發者(一)

Comments are closed.