天天看點

怎麼樣才能做一個好的程式員

計算機是一門實踐性的科學,沒有動手能力做支撐,很難做出好的科研成果。沒有寫過足夠代碼量的,想成為高手是不可能的,隻能紙上談兵!

計算機技術更新換代非常快,每年都有各種各樣的新技術出現。需要時刻保持好奇心,不斷學習各種新的東西,才能在未來的幾十年職業生涯中不落伍。人的精力有限,高手往往工作壓力也比較大,如何在有限的時間内掌握整個行業動态,的确不是簡單的事情。學會思考,檢討與自查。理性分析錯誤的原因,并警醒自身。杜絕錯誤的再次的發生,Bug可能會有無數個,而絕對不要重蹈覆轍。

無數的人問過類似的問題:怎麼樣才能做一個好的程式員?在回答這個問題之前,首先得明白什麼是好的程式員,這樣才有方向和目标,可是這事情太主觀,可能各人的标準幹差萬别。在項目開發中,一個程式員的能力等于其解決問題的能力。假如想有個尺度來衡量這個能力的話,一個程式員的能力可以用能完成任務的規模和難度來衡量。

因為難度上不好那麼筒單的劃分,并且在一般的項目開發中 (非研究性項目),任務的難度主要來自于任務的規模帶來的複雜度,這裡把任務從規模上大緻的劃分為1個函數=>1個 類=>1個功能=>1個子產品=>1個項目。

更細緻的劃分時,函數、類、功能、子產品、項目本身也有簡單和規模大小之分。一個初學編裎的人總是從最小的函數和類開始學習的; 一個程式員能基本無誤的完成項目中的一個功能算是合格。

在同等水準的裎序員之間,一個對某領域問題有所了解,一個對該領域完全不了解,完成該領域同樣任務的效率差了不止一個數量級。這就是我們通常所說的經驗的作用,這種經驗可以看作是知識積累。—個程式員的知識積累很大程度上決定了其解決問題的能力。

這是一個知識大爆炸,知識重新整理頻率讓人無法追趕的時代。一 方面,面對一個稍有難度的任務,難免會有超出自己現有的知識範圍的時候,此時自學能力決定了你能多快的完成此任務;另一方面,你的自學能力決定了在平時的工作過程中,你積累知識的多少。自學能力強的人,即使沒有人指點也總能在項目的代碼中學到東西;而反過來,學習意願弱的人寫的代碼被别人重構後, 也不會想想,這段代碼是否改的更好了以及為什麼。

從較長的尺度上(比如一個人的工作生涯)來看,一個程式員知識積累的多少隻決定于其自學能力和他對程式設計本身的興趣。歡迎大家在評論區評論留言,小編會及時給大家解答疑惑的

繼續閱讀