1、概述git
編程效率在工做中扮演着相當重要的角色,優秀的程序員每每都有着很高的效率,這樣一來就會有更多的時間去學習或者作其餘事情。那麼如何提升編程效率呢,下面給出了一些建議,開發人員能夠根據本身的實際狀況進行思考和提高。程序員
2、方法github
1.訓練編程能力算法
不少程序員在工做或者工做之餘,並無拿出多少時間去刻意訓練本身的編程能力。大多數的編程積累是在工做中完成的,若是是有目的的完成工做任務倒也很好,可是若是隻是爲了完成任務而編程的話,其實對於編程能力的提高並不大。球隊員經過「網上訓練」提升技能,音樂家經過練習演奏來提高水平,歌手也須要不斷經過練習改進。那麼關於能力的訓練,能夠採用刻意練習和一萬小時理論。練習的內容從編程基礎作起,像數據結構、算法、編程語言用法等,作到編程最基礎核心的部分能夠熟練掌握。閱讀一些諸如《Effective Java》和《Design Patterns》等類型的書,並天天作些基礎訓練。從歐拉項目中找出些問題,而後 用你最喜歡的計算機語言解決它。其餘部分以相同的策略拓展練習就能夠了,這樣編程能力就會慢慢提升。編程
2.閱讀代碼和技術資料api
閱讀代碼和修改/編寫代碼同樣困難。在當今開源世界的狀況下,能夠參閱大量優質代碼。選擇一個你最喜歡的開發庫,而後仔細閱讀以充分利用裏面的資源。或許你不能很快便理解全部的內容,可是經過不斷的訓練,你將可以區分其中使用的不一樣模式,同時把這些模式用到你的代碼中。除了看代碼以外,你也能夠訂閱專業領域內優秀專家的博客,來獲取最新趨勢信息。微信
3.集中注意力數據結構
集中注意力,想清楚了,再去專一高效的寫代碼。可使用番茄工做法,在進行番茄任務時,除了專心寫代碼以外,不作其餘任何事情。不要成天盯着你的微信、QQ等,在工做時將它們最小化或關掉它們,戴上耳機。Tiny hack說:「即便不聽音樂我也戴着耳機工做,這樣便不會有人打擾到我。」若是不能集中注意力,那麼思路就很難清晰,這樣一來,不管是作需求仍是修復問題,都是很是不利的。另外,還能夠訓練如何集中注意力,來增強專一聚焦的能力。編程語言
4.掌握代碼編輯器編輯器
工欲善其事必先利其器。以前w3cschool推薦過得到程序員高分的編輯器,好比Notepad++、VIM、LightTable、jEdit、Sublime Text、emacs、visual studio、IDEA等。不管是文本編輯器仍是IDE編輯器,沒有高低之分,熟練掌握一種能夠進行高效的開發纔是王道。包括優化配置、各類運行調試、快捷鍵的使用等等。
5.練習快速打字
事實上不少程序員並不具有盲打的能力,可是盲打能夠提升鍵盤輸入的速度,當咱們思考完畢如何開發的時候,快速的鍵盤輸入可讓編程工做更加高效。所以,對於還停留在一個個敲鍵盤的程序員來講,學習一下盲打,會是一個不錯的體驗和能力的提高。
6.善用搜索
對於那些不屬於業務上的問題,好比API的使用、一些常見問題的處理,建議不要浪費時間本身琢磨,直接使用搜索引擎尋找答案便可。咱們都知道,在一些情境下不要重複發明輪子,除非是本身有目的的須要。對於搜索引擎,建議谷歌和百度結合使用,谷歌的搜索結果更精準,百度本地化作得比較好。另外,像github、stackoverflow、csdn、掘金等等,建議常常去逛逛。
7.編寫單元測試
不少程序員會認爲編寫單元測試浪費時間,因此根本就沒有這個工做習慣。不否定,在一些場景下會有這個問題。看似是一個取捨的問題,實際上是一個習慣的問題。若是養成了編寫單元測試的習慣,熟練以後並不會浪費時間。TDD的編程模型,在一些複雜的場景下,能夠很好的幫助程序員提早發現問題。避免了一旦出現問題形成一時無從下手的尷尬。不少時候困惱程序員的Bug並非什麼大問題,而就是一些很是簡單低級錯誤引發的,因此建議養成編寫單元測試的習慣,不要寫完就扔給測試人員去測,經本身手的東西,要保證質量。
8.精力管理
離開10分鐘每每就能夠解決一個問題。控制編程時間,給本身一個多姿多彩的生活,勞逸結合能讓你在工做時更高效、更愉悅。固然,即使是上了年紀的程序員也知道,以最少的時間完成最高效的工做是成爲10倍效率開發者的必要條件。
9.與編程高手一塊兒工做
和大牛有經驗的程序猿一塊兒工做。和勤奮的人一塊兒共事。永遠不要相信「你改變不了環境,但能夠改變自已。」這句話。這通常只有牛人才能作到。和勤奮的人一塊兒,才能潛移默化的影響本身更勤奮。做爲一個程序員,我以爲在職業生涯中最好的一件事兒就是從電腦前站起來,去拜訪那些在某一領域有所建樹的人們。
個體的力量老是有限的,軟件行業發展這麼多年來,已經有不少前人爲咱們鋪平了道路。在資源有限的狀況下,能夠考慮使用第三方的解決方案,暫時不去從新發明輪子。可是這只是停留在用的維度,待業務穩定以後,要進一步去學習和理解輪子是怎麼創造出來,並且最好是要本身也經歷發明創造的過程,這樣技術纔能有所提升。對於資料文獻和開源項目,儘可能去使用比較活躍的,在社區有影響力的。
11.設備要求
一個程序員一般是要兩個顯示器,兩屏能夠一邊編程,一邊看api的doc。固然,還要有至關不錯的機械鍵盤。不少程序員男友必定要有個機械鍵盤。若是你是個妹子,必定要送給程序員男友一個,我擔保他心花盛開一成天。除此以外,一張合適的座椅,也可以減緩程序員編程的疲勞感,誰說上班不能夠自備座椅呢? 另外建議使用Mac進行開發,至於爲何,誰用誰知道。
12.敏捷開發
敏捷開發是採用迭代、按部就班的方法進行軟件開發,簡單、快速能夠不斷的優化,有如下幾個建議: