對于萌新程式員,尤其是剛剛開始學習的新手來說,菜鳥階段是最痛苦的一個階段了。如何才能擺脫稚嫩,快速成長為一名資深碼農?
除了讓發際線人為後移,還有其他小技巧嗎?
1.多看官方文檔
不要被這幾個字吓到,官方文檔其實都是寶藏。
一個成熟的技術誕生,可以沒有部落格沒有書籍,但一定會有一個官方文檔,毋庸置疑,它一定是最準确、最實時的資料。編寫官方文檔的人,也通常就是這些技術或者軟體的開發者,他們是對這些東西最了解的人,是以編寫的文檔不僅品質非常高,通常内容也都是最新的。

是以,官方文檔遠比網上的各種部落格和論壇等更适合入門學習。當我們遇到很多問題和技術細節的時候,認真将官方文檔過一遍,你會發現很多問題和認識模糊的地方都會清晰起來。
程式員都應該掌握通過官方文檔去學習一個技術的能力,掌握了這項能力,你就具備了學會其他一切技術架構的基礎;而且原汁原味的官方文檔,還能鍛煉你的自我學習總結能力。
2.面向搜尋引擎程式設計
很多人總以為無論什麼都 Google 一下是一件很 low 的行為,但其實,普通程式員+ Google=超級程式員。
用好搜尋功能,Google +Stack Overflow + GitHub 能解決你的大部分問題。
是以,在問别人問題之前,先自己搜尋一下吧。
當然,超級程式員可不是會Google就行的,把 Google 到的東西吸收并運用起來,才是真正的能力。
不過,無論是看官方文檔也好,還是面向 Google 程式設計也好,都必須要掌握較好的英文能力。這樣才能更好的閱讀文檔,搜尋自己所需要的東西。
3.規範命名
ITWorld 曾經發起過一個“程式員最頭疼的事情”投票,結果,近半數的程式員認為命名是最頭疼的事情。
有時候代碼寫嗨了,命名的時候就開始放飛自我,gousheng、tiedan、xiaonaigou、i、j.....自己是寫嗨了,其他人閱讀起來就懵逼了。
是以,不論是内部變量還是全局變量,都要形成自己的一種命名規則,能夠一眼看明白變量的意思。混亂或錯誤的命名不僅讓我們對代碼難以了解,更會誤導我們的思維;反之,良好的命名,則可以大大提高我們的代碼易讀性,也能大大增強代碼的可維護性。
4.認真注釋
和命名一樣讓程式員頭疼的還有兩件事:寫注釋和别人不寫注釋。
之是以要寫注釋,是因為當你在寫某個程式的時候,可能當下記得很清楚,這一段是什麼機制、如何實作,但是當你寫的程式越來越多,你會忘記當初為什麼這樣寫,改動和交接也十分麻煩,對代碼進行注釋就可以有效避免這種情況。注釋不僅可以讓人讀懂代碼,甚至能讓讀代碼的人擷取更多資訊。
不過,注釋貴精不貴多。要杜絕大姨媽般的“例注”,漫山遍野的碎碎念注釋,實際就是背景噪音。
5.不要重複造輪子
“不要重複造輪子( Stop Trying to Reinvent the Wheel)”, 可能應該是每個程式員入行被告知的第一條準則。寫程式實際上是一個最能“偷懶”的工作:你現在費力實作的每一個功能,可能早已經有極好的解決方法貢獻在開源社群,使用好現有的輪子和各種開源庫,會讓你事半功倍。
當然,要找到一個非常适合的輪子,是非常不容易的一件事。有時候費了九牛二虎之力找了輪子,卻發現有這樣那樣的問題,最後還是無疾而終。
那麼,什麼樣的輪子是一個好輪子呢?
開源,并且 License 寬松。
有文檔,代碼規範,接口友好,最好有實際用例。
社群相對活躍。
松耦合,定制容易。
總之,隻要合适好用,都是一個好輪子。
6.多讀多寫代碼
提高程式設計能力其實沒有捷徑,最佳方式就是多寫代碼。
不過,除了寫大量代碼,提升程式設計能力還需要大量閱讀别人寫的代碼。
一來,閱讀源碼可以提高程式設計能力。學習都從模仿開始,不管是入門時閱讀教程裡的示例代碼,還是進階時閱讀優秀項目源碼,都是很好的學習方式。
二來,閱讀源碼可以提高 debug 能力。隻有練習積累的閱讀代碼的能力,才能看懂代碼,進而快速準确地定位代碼中的問題。
最後,閱讀源碼可以幫助形成良好的代碼風格。“開發”不僅要寫可以執行的代碼,更是 要寫别人讀得懂的代碼 ,這對代碼的維護和擴充大有好處。
7.預留開發時間
一個程式員能否精确評估開發時間,是一件非常重要的事情。不過對于新手程式員來說,甯可多算一周,不可少估一天。過于“樂觀”容易讓你的 boss 受驚吓。
畢竟,在評估開發時間的過程中,你需要預設各種修改對其他子產品的影響。一個修改後的單元測試,可接受測試,UAT 環境測試,再到上線,很多地方都是需要花時間的。一旦某個測試不通過,然後又得調試,修改,再進行單元測試......誰能保證每次修改都是一次通過的呢。
8.大膽重構
重構是程式員的主力技能。
一個程式員最大的勇氣就是看自己三個月之前寫的代碼。但是,學習如何将你的代碼重構為一份更好的代碼,這是一項很有價值的技能。好的代碼是改出來的,代碼需要不停的重構, 重構應該貫穿代碼開發的整個階段。
重構也并不應該是在幾個月之後重構,最好的方式是實時重構。寫一天代碼,70%的時間都放到重構上都不過份。
9.師傅領進門
最後,作為一個初入職場的新手程式員,找一個可靠的前輩帶領自己,是一個非常有利于自己成長的選擇。
這個師傅最好能具備這幾個特質:
支援你。不會因你的成功而利益受損的人。eg.同僚互相競争
技術技能。是確定你能從他身上實際學到東西的人。
高标準:能讓你保持高标準,并不隻是為了應付今天的工作,也是為了日後成為更資深的程式員。
這樣,當你的工作遇到各種問題時,你的師傅可以帶領你走正确的職業發展方向上。
新手們剛剛開始學習的時候不要好高骛遠,從最基礎的C語言開始,認真走好每一步的基礎,隻有踏實的一步一步走來,才能進階的更好更高。想要進階更多的可以關注我的首頁,私聊學習更多。