(轉)碼農提升工做效率

俗話說,天下武功,惟快不破。也就是說要練整天下高手的話,出招速度必定要快,這樣才能在江湖上立足,不至於掉了腦殼。而程序員要在IT界混出個名堂,也要有高效的工做效率才行。IT行業時時刻刻都產生着新知識、新技術,要想跟上變革確定要有幾把刷子。java

而我本人很喜歡各類各樣的方式來提升本身的工做效率,能夠分享給你們一些經驗。git

1. 鍵盤功底要紮實。敲鍵盤時要使用標準指法。可能你認爲這是程序員的基本功,但是我發現其實不少程序員都作不到這點。看着他們敲代碼時那笨拙的指法我就心急。其實煉成標準指法不難,至關年我仍是一指禪,打字極慢,痛定思定,在一週內我打字必用標準指法,再彆扭也要堅持,一週後就適應了標準指法了。如今不說運指如飛也算是略有小成。練習指法和鍵盤速度能夠給你們推薦一些網站:http://10fastfingers.com/typing-test/english,這個就是練習標準指法的,我能夠輕鬆上60 WPM(每分鐘60單詞),有個外國同事能夠達到130以上,那才叫恐怖。http://typing.io/lessons,專門供程序員練習敲代碼的網站,融合了各類括號和標點,難度有點大。程序員

2. 要熟悉IDE的各類快捷鍵及特性。IDE基本上是碼農們上班中使用時間最長的軟件。首先要選擇一個趁手的IDE,俗話說,工玉成其事,必先利其器嘛。若是是C#陣營的那確定是最新版的Vistual Studio了,若是是Java陣營的話固然是Intellij了(eclipse做爲開源IDE,真心比不過Intellij)。我如今使用Intellij能夠在95%的狀況下不用鼠標,全鍵盤完成開發過程當中的大部分操做。我以爲沒有什麼經常使用快捷鍵、不經常使用快捷鍵之分,只要你知道的快捷鍵就要拿來用。尤爲是各類重構快捷鍵必需要熟練掌握,當我看到碼農修改變量名時不用重構快捷鍵,而是本身手動在引用的地方一個個改,而後編譯查錯時,真爲他們捉急。還有各類inline,introduce的快捷鍵真是好用到爆,掌握了這些快捷鍵能夠說對代碼進行任何重構都不費除灰之力,咱們的注意力也從手動修改代碼轉移到如何發現壞味道了。Vistual Studio中推薦安裝ReSharper,其開發公司與Intellij開發公司是同一家。除了重構快捷鍵,還要掌握一些IDE的特性,好比調試時能夠插入指定條件來命中斷點等,這些就要平時的積累和學習,另外還有好奇心。我敢說你如今挨個看IDE菜單,至少有30%功能你從沒用過或不知道是幹什麼用的,其實裏面有些功能是很是實用的,只是你沒嘗試而已。shell

3. 至少熟練掌握一種shell終端。做爲程序員老用圖形化界面咋行,要用那種古老的命令行界面才能顯示出你的高深嘛!鼠標點界面誰都會,而命令行界面不是誰都能駕馭。有些功能在命令行下要比圖形界面下高效N倍。好比我使用git提交文件時都是在命令行下查看哪些文件被修改了,哪些是新添加的,修改的部分是哪些等。使用圖形化界面要用鼠標點來點去,效率實在過低。Linux系統下的終端太多了,就不推薦了。Mac系統下推薦使用iTerm2這個殼,其比MAC自帶的terminal多了很多實用的特性,也能方便切換本身喜歡的配色。Windows下固然首推Windows Power Shell了。Windows Power Shell自己集成了經常使用的實用工具,而且與.net framework無縫結合,這點是那些在Windows上的類Linux模擬器(好比Cygwin)是遠遠比不了的。編程

4. 具備必定編寫shell腳本的功底。光會用現有的腳本還不行,還要會根據狀況編寫腳原本實現本身特定的一些目標。好比我使用MAC機上的終端時,常常須要在不一樣目錄間跳來跳去,每次都打一串的cd …..很麻煩,後來我就本身寫了一個小工具,能夠給指定的目錄起別名,想要跳到這個目錄只要敲別名便可(參見http://www.huangbowen.net/blog/2013/02/16/gtshell/)。還有我在Windows系統上工做時,也常常編寫一些Power Shell腳本,好比一個命令就啓動指定的FTP服務器,一些小命令用來實現快速在不一樣項目源碼間切換並執行構建命令等。這些命令編寫起來都很簡單,在提升工做效率方面很好幫助,由於一些經常使用的費時的操做天天重複N次,讓人很厭煩,若是可以使用腳本將其自動化起來,豈不是就把本身給解脫了?服務器

5. 多語言編程。在這個世界有太多太多的編程語言,但凡稍微流行的編程語言都有本身獨特的優點,而咱們要善於利用每種編程語言的特色,而不是成天吵鬧那種語言更強大。我本身熟悉C#、java語言,也用JavaScript、Ruby、Python、Groovy作過一些東西,甚至爲了理解函數式編程還專門學習了Haskell語言。這些語言都給我帶來了實用的效果。好比我用Ruby寫了一個插件,能夠自動把我主站上的博客同步到博客園中的博客來。我使用Groovy給個人Java代碼寫單元和集成測試,比使用Java語言編寫要快不少。我用Python和WebDriver寫了一個論壇灌水工具來刷積分。你掌握的語言越多,你的視野就越廣,你對編程的理解就會越深刻。固然我不同意盲目的求多,至少你要有2到3門精通的語言,從語言語法、語言運行時、語言特性、語言API等方面都要有深刻學習和看法,當你再學習其它語言時也不會浮於表面的了。less

6. 這是最重要的一點,時刻保持一顆好奇心,一顆堅決不移的提升工做效率的決心。不少人都抱着差很少態度,心想「我雖不是標準指法,敲鍵盤速度也差很少」,「我IDE快捷鍵用的很少,也沒以爲那裏影響到我開發」,「我只會C#一種語言,還不照樣幹到如今了嗎?」之因此有這種想法,是是由於你沒有見到真正高效的人。我曾看到某IT界牛人那出神入化的VIM操做,簡直已經超越了指哪打哪的境界,已經達到了鍵隨心動的境界。我也看到某高級程序員使用IDE快捷鍵三下五除二就把一段醜陋的代碼給收拾的服服帖帖。耳濡目染之下讓我堅決了這個決心,不作差很少先生。因此平時我和同事一塊兒工做時,就留心他們有哪些方法和工具來提升本身的工做效率。若是他們使用了一些好用的快捷鍵而我不知道,那我就會記下來下次本身用(快捷鍵熟練程度上我早已經是咱們項目組的number one)。若是看到他們使用了一些好的工具我也會立馬回去下載下來本身用。(好比前兩天我看到同事使用SuperPutty來鏈接遠程主機,其支持多tab方式,這正是我想要的功能。我回去立馬下載下來,拋棄了之前的Putty)這樣時間長了,集衆人之所長,你天然也成爲效率達人了。eclipse

爲了我追崇高效率那?我以爲最大的好處是能讓個人大腦從繁重的重複勞動中解脫出來,從而能集中精神思考更有價值的事情,而不是被一些雜音干擾。編程語言

做者:黃博文@無敵北瓜
出處:http://www.cnblogs.com/huang0925
黃博文的地盤
本文版權歸本人和博客園共有,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。函數式編程

相關文章
相關標籤/搜索