想成爲更優秀的程序員?這8個方法幫你忙

想成爲更優秀的程序員?這8個方法幫你忙程序員

如今是時候認真考慮提升你的編程技能了!

這是給本身設定的一個簡單的職業生涯提高目標,可是「成爲一個高薪程序員」不是一個簡單的目標。一方面,「我要變得更優秀」意味着你知道「更優秀」是什麼樣的。另外一方面,太多立志改善的人殊不知道怎麼作。編程

想成爲更優秀的程序員?這8個方法幫你忙

下面我要分享8個可操做的,可提升編程技能的行爲準則。框架

一、提醒本身得學習編程語言

學習的第一步是要認識到,你不懂。由於不懂,因此才須要學習。這聽上去很明顯,但有經驗的程序員確定記得本身用了多長時間才能作好這個心理建設。太多的計算機科學學生帶着一種傲慢畢業:「我懂得最多」,自覺得是地認爲他們知道一切,而且有一種想要證實給每個新同事看的強烈慾望。換句話說:這樣一種「我知道我懂我瞭解!」的態度會成爲阻礙你學習新東西的攔路虎。工具

想成爲更優秀的程序員?這8個方法幫你忙

二、不要竭力證實本身是對的學習

要成就偉大——而不僅是優秀——你必須從經驗中學習。但要當心,經驗會讓咱們重複錯誤的行爲,養成壞習慣。咱們都遇到過有着8年經驗的程序員……不斷說本身的經驗豐富,倚老賣老。爲了不一葉障目,你應該回顧本身所作的一切,問問本身,「怎樣才能作得更好?」測試

新手軟件開發人員(以及不少有經驗的開發人員)觀看他們本身的代碼是爲了欣賞它的精彩。他們編寫測試是爲了證實其代碼可工做,而不是爲了讓它失敗。真正偉大的程序員會積極尋找他們錯誤的地方——由於他們知道,最終用戶必將會發現他們遺漏的缺陷。編碼

三、「代碼可工做」不是你止步的標誌,而是你開始的地方spa

是的,第一步是寫出高質量的軟件,知足規格說明。普通的程序員每每在這裏就放棄了,直接跳到下一件事。.net

可是就此看成是「已經完成」而止步,就像是拍了張照片就但願它成爲一件藝術品同樣荒誕好笑。偉大的程序員知道第一次迭代就只是第一次迭代而已。能夠工做——那麼恭喜你!——可是這不是結束。你還須要讓代碼變得更好。

一些流程定義了何爲「更好」。有沒有價值使其更快?文檔更簡單?更可重用?更可靠?對於不一樣的應用程序,這些問題的答案也各不相同,可是這個流程是不變的。

四、寫三遍

好的程序員編寫可工做的軟件。而那些偉大的程序員編寫的軟件運行起來極爲出色。這不多是可以一蹴而就的。最好的軟件一般要寫三次:

首先,你寫軟件是爲了證實給本身(或客戶)看該解決方案是可能的。其餘人可能不會意識到這僅僅是一個證實型的概念,可是你知道。

第二,讓它工做起來。

第三,讓它正確工做。

這種程度的工做可能並不明顯,若是你去看那些最佳開發人員的工做的話。他們作的一切都顯得如此才華橫溢,但你沒有看到的是,即便是明星開發者,在將本身的軟件展現給別人看以前,可能也扔掉過第一次和第二次的版本。拋棄代碼從新開始是一個能將「力求完美」歸入我的工做流程的好方法。

若是不出意外,「寫三遍」會告訴你不少解決問題的方法。它能夠避免你陷入困境。

五、閱讀代碼,閱讀不少代碼

你可能已經聽過這個建議,實際上這是提升編程技巧最多見也是最有價值的建議。可是不少人不知道閱讀別人的代碼之因此如此重要的緣由。

想成爲更優秀的程序員?這8個方法幫你忙

當你閱讀別人的代碼時,你要去看別人是如何解決問題的。但不要把它看成文學來看;把它當作一個教訓,一個挑戰。爲了變得更好,你得問本身:

我會怎麼寫那樣的代碼塊?在你看到另外一種解決方法以後,你有什麼不一樣的作法?

我學到了什麼?怎麼應用那個技術到我之前寫的代碼?(「我歷來沒有想過在那裏使用遞歸降低……」)。

我要如何改進這個代碼?若是它是一個開源項目,並且你相信本身有一個更好的解決方案,那麼就去作!

用做者的風格寫代碼。練習這個能夠幫助你瞭解寫軟件的那我的的思惟。

不要光想不作。寫下你的答案,不管是在我的日記,博客,代碼審查過程當中,仍是在開發者社區論壇上。就像給朋友解釋問題能夠幫助你理清解決方案,寫下並分享你的分析也能夠幫助你瞭解爲何你對別人的代碼會有這樣一種既定方式的反應。這就是我前面提到的自省,自省能夠幫助你冷靜地判斷本身的長處和短處。

警告:閱讀大量的代碼很容易,但要憑此就成爲一個偉大的程序員未免異想天開。許多開發人員會經過開源代碼或其餘軟件來「找尋答案」,而大多數人的作法是,複製和粘貼恰巧出現的可解決相似問題的代碼。這樣作其實是在讓你變成一個更差的程序員,由於你只是盲目地接受別人的智慧,而沒有消化吸取。

六、寫代碼,而不只僅是做爲分配的任務

工做於我的編程項目有不少優點。首先,它提供了一個學習工具和技術的途徑,而這些工具和技術在你當前的工做中是學不到的,可是這能讓你在找下一份工做時更有競爭力。不管你是致力於開源項目,仍是爲當地的社區組織提供無償的勞動,均可以讓你增長技術技能和自信。

爲了好玩而寫代碼的另外一個優勢是,它迫使你靠本身去搞清楚這些事情。你不能將難的那部分留給別人去作,因此它能夠避免你太快地向別人尋求幫助。

小貼士:不要選擇那些你永遠不會失敗的我的項目。你須要失敗!但你不會但願在工做中失敗,或者當項目有時間期限的時候。

七、儘量一對一地和其餘開發人員合做

這有助於仔細傾聽別人的思路和想法。方法能夠是結對編程,能夠是去參加編程馬拉松,也能夠是加入一個編程用戶羣。當你致力於一個開源項目時,要注意你從用戶和其餘開發人員那裏獲得的反饋。在他們的批評建議中有沒有什麼共同點?

你或許會很幸運地找到一個能夠信任的我的導師,他會指導你從編碼技術到職業決定的全部東西。不要浪費這些機會。

想成爲更優秀的程序員?這8個方法幫你忙

八、學習技術,而不是工具

編程語言、工具和方法變化不定。這就是爲何咱們要積累儘量多的經驗,使用盡量多的語言和框架。專一於編程基礎,由於基礎知識永遠不會改變:要更注重結構,而不是編程。若是你以爲只有一種作事的正確方法,那麼多是時候實戰檢驗了。教條會阻礙你學習新事物的能力,同時要試着讓本身慢慢適應變化。

還有不少,可是自我提升的一個關鍵原則是知道什麼時候中止。

相關文章
相關標籤/搜索