程序员提升工做效率的方法


俗话说,天下武功,惟快不破。也就是说要练整天下高手的话,出招速度必定要快,这样才能在江湖上立足,不至于掉了脑壳。而程序员要在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
黄博文的地盘