程序员的效率

 

 

程序员的效率。

A.     使用一个正确的工具。

我们项目的人,都不习惯使用VSS(都已经很熟悉CVS的文档管理),我认为VSS的操作上不如CVS来的用户体验好些,(例如,对本地目录的操作,CVS直接F2就行了,VSS我就不知道了;还有在这个项目中分配的不是很好的权限,我们有时候要上传个文件得找别人)别看这是一个很小的一个东西,这是会影响我们的工作的中心的,本来是写设计书的,后来不知不觉的就变成搞VSS的东西去了(偏离了工作重点)。

B.      使用好工具,特别是开发工具。

例如,我们使用的Eclipse是可以通过很多插件的可以来提高工作效率的,还有EmeditUtrleditGoogle的高级搜索功能(很重要)、使用ant构建、代码生成工具和一键发布等。但是在公司要弄到这些插件手续太麻烦来了,就像我要弄个Ant的包可以实现对Linux的控制的,来回弄了一个下午,第二天还是我用邮箱自己发送进去的。有了这个包之后我就可以按一键完成打包和发布的工作了,然后继续其他的工作,如果没有就得如下操作:

a.修改配置文件,需要点时间,因为要找到准确的配置文件(打包完了还有修改回去的);

              b.导出war文件,比较久也不可以干其他的东西;

              c.登陆linux系统;

              d.找到相应的目录;

              e.war文件复制上去;

              f.重启jboss

这一路操作下来,也得来个5分钟吧,甚至有可能人工出错重来那就更久了,用了自动化的ant脚本只有20秒。而且不会影响你的注意力(专注很重要)。针对这个问题公司是不是应该整理一个,使用好工具的手顺说明之类的东西,让大家在工作中发现好的东西都可以往上分享,成为一个资料库。不要说这个项目有些东西用的很好,也就只有一两个人知道。

以上的种种东西都应该有个地给大家分享,而且要形成分享的精神,这种分享是需要交互与互动的,只出不进,是会‘耗尽’的。同时对于个人也应该管理好自己的这些知识,不然要用的时候都不知道去哪里找(别人又不知道,‘忘记’分享了)。

C.      专注。

程序员是一个知识工作者,你的收入来自于创造性的工作。我们都有这样的体验:当你集中精力是,时间会过的很快。你几乎与你所应对的问题形成了共生的关系。但是这种状态时脆弱:一旦分心,就得努力回到原来的状态。干扰越多,就越难回到原来的状态。

怎么防止。

1.隔离策略。关掉机器上的分散注意力的东西,创建邮件的过滤器。

2.创建安静时间。对于开发人员在上午9~11,下午3~5时,尽量少开会议。

3.使用高级搜索。如代码中学会用正则表达试搜索一些东西。

4.基于项目的快捷方式。

5.

     心理学家发现一种‘高度专注于高生产力’的心智状态,称之为‘流’(flow)。进入流的状态,需要约15分钟的时间。

     一个程序员一天的工作时间是7小时(上下午),那么他处于,高生产力的时间是:3-0.25+4-0.25=6.5小时。假如一天中被其他的事情中断了10次,每次花费掉5分钟。则高生产的时间变为:6.5-(0.25+0.08)*10=3.2小时。降低的幅度很大,每次5分钟的打扰,就会造成5+15=20分钟的损失。
每一次的注意力转移,都需要花上15分钟的时间,回到之前的流状态。

 

 

猜你喜欢

转载自tivan.iteye.com/blog/684351