俗话说,天下武功,唯快不破。也就是说要练成天下高手的话,出招速度一定要快,这样才能在江湖上立足,不至于掉了脑袋。而程序员要在IT界混出个名堂,也要有高效的工作效率才行。IT行业时时刻刻都产生着新知识、新技术,要想跟上变革肯定要有几把刷子。

而我本人很喜欢各种各样的方式来提高自己的工作效率,可以分享给大家一些经验。

  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%功能你从没用过或不知道是干什么用的,其实里面有些功能是非常实用的,只是你没尝试而已。

  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等方面都要有深入学习和见解,当你再学习其它语言时也不会浮于表面的了。

  6. 这是最重要的一点,时刻保持一颗好奇心,一颗坚定不移的提高工作效率的决心。很多人都抱着差不多态度,心想“我虽不是标准指法,敲键盘速度也差不多”,“我IDE快捷键用的不多,也没觉得那里影响到我开发”,“我只会C#一种语言,还不照样干到现在了吗?”之所以有这种想法,是是因为你没有见到真正高效的人。我曾看到某IT界牛人那出神入化的VIM操作,简直已经超越了指哪打哪的境界,已经达到了键随心动的境界。我也看到某高级程序员使用IDE快捷键三下五除二就把一段丑陋的代码给收拾的服服帖帖。耳濡目染之下让我坚定了这个决心,不做差不多先生。所以平时我和同事一起工作时,就留心他们有哪些方法和工具来提高自己的工作效率。如果他们使用了一些好用的快捷键而我不知道,那我就会记下来下次自己用(快捷键熟练程度上我早已是我们项目组的number one)。如果看到他们使用了一些好的工具我也会立马回去下载下来自己用。(比如前两天我看到同事使用SuperPutty来连接远程主机,其支持多tab方式,这正是我想要的功能。我回去立马下载下来,抛弃了以前的Putty)这样时间长了,集众人之所长,你自然也成为效率达人了。

为了我追崇高效率那?我觉得最大的好处是能让我的大脑从繁重的重复劳动中解脱出来,从而能集中精神思考更有价值的事情,而不是被一些杂音干扰。

原文信息:

作者:黄博文@无敌北瓜

出处:http://www.cnblogs.com/huang0925
黄博文的地盘

程序员提高工作效率的方法相关推荐

  1. 22条日常技巧助程序员提高工作效率、节约时间

    这不是一个关于时间的问题,而是关于精力. 为了"有效率",我们试图在一个工作日内塞进尽可能多的小时,但最终一切都更多地取决于你的注意力,积极性和良好状态(这些都是直接与精力等级联系 ...

  2. 提高工作效率的方法_4种提高工作效率的方法

    提高工作效率的方法 时间贫困-一种想法,就是没有足够的时间来完成我们需要做的所有工作-是感知还是现实? 事实是,您一天最多不会超过24小时. 长时间工作无济于事. 实际上,您在一天中工作的时间越长,生 ...

  3. python 语音websocket_Python 牺牲性能以提升程序员的工作效率

    1.项目名称:基于 Python3 的信息发送系统 项目简介:lykchat 信息发送系统是 Python3 开发的,通过模拟微信网页端,基于个人微信号,为系统管理人员提供信息发送工具,实现的功能有用 ...

  4. 【项目管理】用LoC衡量程序员的工作效率是不科学的

    由于编码是脑力劳动,是创造性工作,所以尽管程序员的工作量和工作效率不是那么容易度量,但用LoC衡量程序员的工作效率显然是不科学的. 不合理的理由: 想改进代码,资深程序员更倾向于删代码而不是加代码.代 ...

  5. python语音分割_Python 牺牲性能以提升程序员的工作效率

    1.项目名称:基于 Python3 的信息发送系统 项目简介:lykchat 信息发送系统是 Python3 开发的,通过模拟微信网页端,基于个人微信号,为系统管理人员提供信息发送工具,实现的功能有用 ...

  6. Centos5.5几种提高工作效率的方法

    Centos5.5几种提高工作效率的方法 1.通常在bash下输入不必把命令输入完全,bash就能判断出用户所要输入的命令,例如假设当前的目录包含以下文件和子目录 $ls zh888/  myblog ...

  7. 有效提高工作效率的方法

    在我们的工作中最重要的不是看你付出了多少努力花了多少时间,而是看你的实际效率有多高.工作效率决定一个人的工作能力.下面小编就来为大家分享可以有效提高工作效率的方法. 1.拒绝拖延 基本上是每个人都会有 ...

  8. 提高工作效率的方法有哪些

    工作效率的高低对我们的职场发展有着重要的影响,更高效率的工作可以让我们更快更好地完成任务,得到公司以及同事的认可.那么提高工作效率的方法有哪些呢? 1.有计划有总结 每天对当天需要做的任务,按照轻重缓 ...

  9. 为什么程序员的工作效率跟他们的工资不成比例

    最有效率的程序员会比一般的程序员的编程效率高上几个数量级.但在任何公司里,他们的工资水平却只会出现很小的浮动差距.甚至在整个行业内,这种差距也不是很大.如果一个程序员的效率能达到其他人的10倍,为什么 ...

  10. 使用 ABAP 开发的一个基于 Web Socket 的小工具,能提高程序员日常工作效率

    程序员区别于其他岗位的一个优势是,我们可以充分利用自己掌握的编程语言,将平日一些琐碎的,重复的日常工作,通过代码来实现自动化,从而省下更多的时间来投入到技术含量更高的工作中,提高工作效率. 本文介绍一 ...

最新文章

  1. 为什么阿里强制 boolean 类型变量不能使用 is 开头?
  2. 获取选中的radio
  3. VBS 脚本语言-利用vbs调用ie浏览器访问百度查天气实例演示
  4. Java this 心得
  5. SAP Commerce Cloud启动时遇到的9001端口被占用的问题
  6. 玩转oracle 11g(23):区分大小写和字符集不同
  7. onepill Android端
  8. 25个超有用的 AngularJS Web 开发工具
  9. vue异步数据 报错_VUE 异步数据传递给 component props 的问题
  10. 金特会谈:有骨气的人,才会被人尊重
  11. 线性代数及其应用第一章总结
  12. linux redis导入数据,redis数据批量导入导出
  13. 大合集!近两年目标跟踪资源全汇总(论文、模型代码、优秀实验室)
  14. Flash extractor功能介绍
  15. win10无法安装完成若要在此计算机上,win10提示windows安装无法继续怎么办
  16. html页边距为负值,css中的padding属性可以为负值吗?css中padding属性的详解
  17. 在WinServer2008下安装SQLServer2014
  18. 巴西龟饲养日志----春日野采
  19. finalize()用法
  20. 职业自我认知的测试软件,职业生涯规划___自我认知测试.pdf

热门文章

  1. 聚合支付、第四方支付有哪些平台?
  2. mySQL 2008安装MOF无法连接_安装SQL2008R2时提示:MOF编译器无法连接WMI服务器?
  3. 网络课程 计算机基础1,2020超星泛雅大学计算机基础(1)网络课程答案
  4. 推荐个不错的 Word 全文翻译和压缩工具!
  5. 低秩矩阵的应用matlab,低秩矩阵的应用
  6. python获取当前工作路径
  7. 四大组件之Activity(下)
  8. 清华大学出来的工资有多高?| 文末送书
  9. 【分享360域名批量查询工具】
  10. Hibernate中Entity对象的重新加载refresh