成為更優秀開發者的10條途徑
我讀過好多“成為更優秀開發者的方法”的文章,它們大部分似乎寫於10年前。但大部分仍然很明智,因此我在這篇文章中提取出我認為的最好的10條途徑。你可以隨時看看。
我們開始吧。
讀他人的程式碼 —— Scott Hanselmann
讀他人的程式碼,並從中學習。你會適時得到提升,因為你容易學到其他開發者是如何處理問題的。結對程式設計是提升自我的最好途徑。你從另外一個開發者那裡讀程式碼,實時地看到他/她的思維過程。反之亦然。你們可以挑戰彼此的觀點,共同進步。(推薦閱讀:《閱讀優秀程式碼是提高開發人員修為的一種捷徑》)
找人讀你的程式碼
在希臘神話裡,那喀索斯(Narcissus)愛上他自己在水中的倒影。他無法抗拒不去看它。作為程式設計師,我們也有這樣的症狀,在他之後有了個名字叫自戀(Narcissism)。
當你寫的程式碼時,會很容易愛上你的“藝術品”。但是一段程式碼只有當別人能讀懂你乾的啥時才算接近完美。
通過經常做程式碼評審來讓他人讀你的程式碼。你每次都能學到一兩件事情,尤其在你最後發現那個方法名意義不大時。
寫新的程式碼時先修bug —— Joel Spolsky
我肯定你遇到過這種情況。你發現了一個bug,然後說:“我過會再修,我先把這些特性搞定。”或者你看到一個單元測試沒通過,但是你怕麻煩去找出沒通過的原因,所以你會把這條測試註釋掉抑或規避它。
來幫自己一個忙,養成早期修bug的習慣。bug只會隨著時間的推移堆積成山,給你招致更多的技術債務。(推薦閱讀:《趣文:用雞講解技術債務的形成過程
學習一門新技術 —— Ryan Farley
你處於快節奏的世界。你的技術如同冰箱裡的米飯一樣容易變質。作為一個開發者,學習一門新技術有助於你立於刀鋒上,並受到歡迎。
大量“市民”正在學習如何寫程式碼。這並不奇怪,因為你現在正擁有這個世界上最高薪的工作。做一個極客再酷不過了。
如果你是iOS開發者,學一些Web框架,或者反過來。這樣你知道如何寫一個伺服器端的簡單例子。推薦閱讀:《學習新技術的10個建議》
保持簡單
在程式設計裡你總是可以找到一個更加精巧的方法去實現一個任務。有的人得意於他們的程式碼有多麼令人驚歎,那樣也還OK。但是保持簡單,你願意嗎?這關係到前面提到的一點,讓別人讀你的程式碼。
如果他們幾分鐘之內無法理解,那麼你是在給自己添亂(坦白地說還有那個必須維護那塊程式碼的人)。
把你的實現釋出到部落格裡 —— Bill Simser
在任何事情上要提高的最好途徑就是教(jiāo)授。如果你能使別人理解一個概念,那意味著你掌握它了,而不只是說說。
寫一篇部落格,解釋一下你解決手邊的問題的過程。
順便說一下,這也是一份很好的簡歷。如果你要找工作,你可以給你潛在的僱主一系列你的部落格,這樣你便有了優勢。
(伯樂線上注:關於寫部落格,我們已在多篇文章中鼓勵大家去寫部落格。比如這一篇《即便沒有讀者,你也要寫部落格》、《開發者拒絕寫技術部落格的常見理由》)
貢獻開源專案 ——Eran Kampf
就是說要麼自己做一個開源專案,要麼為已有的專案做貢獻。這有助於你學會如何跟一群開發者協作。做很多獨立的專案會尤其有幫助。
從志趣相投的開發者那裡學習可以加分,並且拜託,回報開源社群不是很酷的事情嗎?推薦閱讀:《非程式設計天才參與開源專案的14種方式》。
修復問題,不要逃避問題 ——Danny Barbol
有一天我在和朋友談話。她是一個會計。她說當她還有0.69美分的賬合不上時會很沮喪。她花了數個小時做幾百萬美元的賬目,到最後僅僅是因為有人在某個地方把0.96美分換成了0.69美分,結果導致他們合不上賬。
作為開發者,我們經常遇到同樣的事情。“一行”bug可以毀掉整個演示。有誘惑力的是不去真正的研究為什麼它不去做它應該做的,而是把它繞過去。你說:“在這裡添上a+5,然後就好了。”
不,找出原因,然後修正,否則繞過去的將會回過給你招來麻煩。
把程式碼覆蓋率提高1%
有時候測試驅動開發顯得很枯燥。一定要在寫程式碼前先寫好一行行測試程式碼?是啊,我們要誠實地說確實不總那麼好玩。你想要馬上開始好玩的部分。
我完全同意測試驅動開發思想,但是有時候你只是剛好有一大堆未測試的程式碼擺在面前。也許你從他人那裡繼承了一段糟糕的程式碼,或者你犯了錯誤,然後忘了加單元測試。
不要難過,不要悔恨。不管你信不信,許多專案都有相同的問題,不論他們願不願意承不承認。你要做的就是把單元測試一個個地加上。
像作家/作者的難產一樣,盯著一張白紙看。多產的大牛說克服它的最好辦法是在那張白紙(或者如今的電腦螢幕☺)上開始動筆。
不要去想那24,000行未測試的程式碼。把它們分解成塊,然後新增測試程式碼。今天覆蓋400行,明天再覆蓋400行。也許永遠不會覆蓋到所有的24,000行,但是一個月後未測試的程式碼就少了8000行。
你的基礎程式碼變得更好了。
每小時離開辦公桌休息一次
這是本文章裡最重要的一條。儘管和程式設計沒有直接關係。至少每個小時站起來舒展身子,你的身體會為此感謝你。
不要馬拉松式的程式設計,幾個小時地粘在椅子上直到最後。就算你有那種900美元的人體工程學的椅子也不要。(順便說一下,如果有第11條,那將會是“弄一把好椅子”)
你應該不想程式設計掙的所有的錢,沒來得及花,就去花在看病上了,是吧?
【非特殊說明,轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊,謝謝合作!】