`
webcenterol
  • 浏览: 943732 次
文章分类
社区版块
存档分类
最新评论

【转】提高工作效率的方法

 
阅读更多

本文来自于 killman.liu 的博客 坪溪笔谈 ,原文链接在:http://blog.feihoo.com/2010/04/work-effcient-thoughts.html

因为个人看了后很有感触,在这里向大家推荐。

提高工作效率的方法

最近一段时间以来,效率相当地高。 纵观前些年的工作效率中,少有这么利落快速而且不加班的。 回顾这几年,我工作效率的提高主要有下面的几个方面。

一、集中目标

专注目标。 凡是工作效率高的时间段里,工作目标都很明确。每天一上班,心里就想明白了今天要干什么,每天下班时,想想今天都实现了什么,有什么目标还没有实现。尽管每天早上来了先看看股票新闻,中午饭后看看股票新闻,偶尔下午还打个盹什么的,但工作的时候确实格外专注,丝毫也不会走神。

分离与当前无关的任务/问题。
专注目标不是那么容易做到的。印象中以前工作中经常会碰到的问题是工作中遇到的问题。一方面可能得益于基本功的增强,最近虽然也遇到了一些问题,但是都能够通过简单阅读或查找文档,或浏览问题相关的库的源码解决; 另一方面,遇到的问题我总是避繁就简,首先倾向于寻找简单可用可靠的方案,并将心中的疑虑记录下来,集中成一个列表,工作之外翻翻书,系统思考和学习,而不会因为这个问题而叉开思路对相关的内容研究一番。总之,专注当前的任务,把新问题记录下来,回头再专心攻克。

例如我第一次用ibatis,遇到了一些表可以用集合和映射来加强Pojo的OO功能,但是我并不熟悉ibatis的这些特性,并且使用简单的方案也是可行的,于是就直接使用简便方案(在我看来,ibatis主要是将SQL集中起来管理、简化SQL操纵,对OO不感冒)。

工作列表。 不论是开发还是设计,一个文本格式的位于源代码存储系统下的待办工作列表与IDE中的TODO项一起构成了专注目标的重要工具。工作目标分解是基本工作步骤,记录工作中产生的新的问题(任务),这样,子问题越来越多,项目中要干的事情越来越丰富。经常性地调整当前工作任务列表,根据重要性对这些任务进行划分。每天都干掉一些问题,经常想着那些最重要的问题。

简单但有迹可寻的设计材料。 在思考和工作的过程中,一方面,项目的过程通常比较长,另一方面经验相对丰富的人手头总是有多个事情在并行进行。当时间太长记不清出了或者是切换任务时,经常要查看此前的代码和设计,易于修改以及有历史记录的设计材料对于保持设计思路的完整十分有意义。(设计材料还应该包括重要的图)

正式准确可以依靠的需求文档。 这一条无论怎么说都不过分,遇到需求不确定的地方,就去查需求文档。如果没有,就请能够回答的人来回答,委托给他,先去做别的。细想在上一家公司,经常要承担多种角色,甚至连需求也经常没人给一个最终决策,设计开发的时候在模棱两可的需求之间做决定,很烦心。对于一个设计/开发人员而言,需求人员在需求问题方面就是绝对的权威。如果有些建议,可以建议,但一切均以需求/产品人员为准。

单元测试。 另一有助于集中精力编码的就是单元测试。单元测试让我集中精力实现当前的功能,需要依赖的其他功能,我总是先生成一个接口,让当前的功能通过测试后再专心去实现该接口。一天下来,一个一个的测试点亮了绿色,一个一个的接口被实现,整天都是十分惬意的。单元测试的另外一个收益就是放心地去重构吧,放心地去做新的特性吧。

二、简化问题的能力

无论是在广义的工作方法/工作态度上,还是在针对具体问题的设计/实现上,我认为最重要的个人能力就是化繁为简了。化繁为简是所有工作方法/软件设计的核心。将那些可以砍掉的工作砍掉(最多做个记录),做到尽可能地经济,尽可能地简单。

从工作方法和态度上来讲,真正需要去做的工作才值得去做,大力砍掉那些不应该在当前工作中处理的事情。例如不必要的优化,不必要的扩展性,不必要的性能,不必要的功能,可以不要的技术,不必要的流程,不必要的文档,统统砍掉,一切可以没有的全都不能有

工作中也可能遇到非关键的难题,通常绕过它们,使用更简单的方案就是了。纠缠于这些不重要的难题,最容易浪费时间。例如,eclipse忽然坏掉了,最好的方法是重装一个; 又如以前我经常自己建一个持续集成服务器,现在我直接养成每次写完代码手工跑一遍的习惯(前提是够用)。简化你的工作!简化!

从设计/实现来讲,最好的方案就是最简单直接、一眼就能看懂的方案。记得刚到一个新的环境,有一个统计任务,既要用到数据库也要用缓存,我做了精细的设计来保证最终一致性,状态流程都很完整,并且使用线程池来并发运行分批处理,最后再合并。虽然控制得很完美很精细,但是流程和结构都很复杂。上头根据此前的项目经验给出了一个更简单的例子,直接将各个任务划分为多个线程,分开存储,到了该统计的时候,冻结数据在所有的分区上做统计。状态砍掉一半,流程缩减一半。

事实上,作为简单直接的一个附带效应,最简单直接的方式,通常性能也最好。

简化问题的能力,是一个人的核心能力。

三、基本功

基本功的内容十分复杂。首先,对整个计算机体系的理解,对操作系统/虚拟机/数据库本质的理解,对语言基础类和库的理解,我觉得是核心基本功

第二项基本功,就是学习能力 。 通过快速阅读核心文档理解核心思想,然后其他的东西总是能从文档中查到就行。细枝末节的东西,即学即用,学过就忘可也。

第三项基本功,就是文档、资料的搜索和收集

要想在工作中如行云流水,另外一个方面就是避开暂时还不熟悉的技术和工具,不熟悉的东西很难用好,更难用顺畅。尤其是那些纠结复杂、华而不实的技术,不要去碰。这属于简化能力的范畴。

四、工具

选择工具的核心标准,就是简单朴素可信赖

文本格式的设计,加上易于修改的图。 我喜欢用一个简单的文本格式来记录设计,随时修改,随时查阅。而附上几幅简单直接的图,经常能够更简单直接地表达更多的内容。

简单的可信赖的工具。我曾经将很长的时间用来构建Maven的环境上,用Maven管理依赖,尤其是跟Eclipse协作时,经常出现诡异。现在我用ant,或者只用Maven,maven不与eclipse纠缠在一起。如果一个工具出几次诡异现象,那就干脆丢掉它。

版本管理工具。 不仅仅源码要由版本管理,整个项目过程的所有知识,全部用版本管理系统管理起来,集中存放。现在我用subversion和git。

分享到:
评论

相关推荐

    Eclipse提高工作效率的好习惯

    9. **多窗口编辑**:通过Window -> New Window创建新窗口,可以同时编辑多个文件,提高工作效率。 10. **快速实现接口**:在接口方法上使用Ctrl + 1,然后选择“Override Methods”,可以快速为类生成接口方法。 ...

    利用VBA提高工作效率

    因此,对于在工作中需要经常使用Office 套装软件的用户,学用VBA 有助于使工作自动化,提高工作效率。另外,由于VBA 可以直接应用Office套装软件的各项强大功能,所以对于程序设计人员的程序设计和开发更加方便快捷...

    医院管理中对病床工作效率的评价

    该方法能够帮助医院管理者更全面地理解病床工作效率的整体状况,并据此做出更加合理的决策。 #### 数据来源与处理 - **数据来源**:研究中使用的数据来自医院的统计工作报表。 - **数据处理**:首先建立原始数据...

    程序员如何提高效率(转)

    描述:本文探讨了程序员提高工作效率的方法,强调了时间的质量与效率之间的关系,以及选择合适问题的重要性。 ### 时间管理与效率提升 #### 时间的品质 文章指出,时间并非均质资源,不同时间段的质量存在差异。...

    电子政务-利用相变储能材料提高光电转换效率的方法.zip

    总结来说,利用相变储能材料提高光电转换效率是一种创新的策略,它通过热能的有效管理,提升了太阳能电池的工作效率,为电子政务系统的能源供应提供了更优化的解决方案。随着科研的深入,未来可能会有更多高效、环保...

    怎样提高学习和工作的效率

    使用番茄工作法,即25分钟全神贯注工作后休息5分钟,能有效避免疲劳,提高工作效率。对于长期项目,制定明确的计划和目标,并按阶段分解,可以帮助我们保持动力,避免拖延。 有效记忆技巧也是提高学习效率的利器。...

    如何提高PLC运行效率

    提高PLC的运行效率是优化系统的关键之一,下面将详细介绍几种有效的方法: 1. **子程序优化**:在PLC编程中,子程序是实现特定功能的独立模块。通过规划和编写高效的子程序,可以减少主程序的扫描时间。当条件不...

    行业资料-电子功用-光伏电池光电转换效率综合提高方法的说明分析.rar

    二、提高光电转换效率的方法 1. 材料优化:选择高效率的半导体材料,如单晶硅、多晶硅、非晶硅、薄膜材料(如CIGS、CdTe)等,这些材料的不同特性影响着光电转换效率。例如,单晶硅效率最高,但成本较高;薄膜材料...

    工作效率与时间管理 .ppt

    5. **学习与运用工具**:利用现代科技工具,如项目管理软件、时间跟踪应用等,可以帮助我们更有效地管理时间和任务,提高工作效率。 6. **授权与委托**:合理分配任务,将适合他人的工作委托出去,可以减轻自己的...

    JAVA提高代码效率的方法.ppt

    通过上述方法,可以显著提高Java代码的执行效率,减少资源消耗,使得程序在处理大数据或高负载时表现更佳。记住,优化应以性能测试结果为导向,不要盲目优化,而应专注于那些真正影响性能的关键区域。

    荣耀手机录音直接转换成文字-一学就会的方法.pdf

    在工作中,录音转文字功能非常实用,例如,在会议记录或采访中,录音转文字可以帮助我们快速地将录音内容转换成文字,从而提高工作效率。同时,录音转文字功能也可以应用于学习和生活中,例如,可以将课堂录音转换成...

    提高太阳能电池转换效率的关键技术.doc

    叠层太阳能电池是其中一种提高效率的方法,通过将不同类型的太阳能电池层叠在一起,利用各自对不同光谱的吸收特性,提高整体的光能利用率。 2.1 太阳能电池原理与结构 2.1.1 基本原理 太阳能电池的工作基于光电...

    提高CAD制图效率的13种方法.pdf

    本文介绍的是在使用CAD软件进行制图时,如何通过各种方法提高工作效率。以下是详细的知识点: 1. 自动存储功能的使用 AutoCAD提供自动保存功能,以防在绘图过程中遇到如停电等意外情况导致工作丢失。用户可以通过...

    应用CAD提高月牙肋岔管设计效率.pdf

    CAD技术是一种计算机辅助设计技术,它在各个领域有着广泛的应用,特别是在工程设计领域,...设计人员通过CAD技术的应用,不仅可以提高工作效率,还可以实现设计细节的精确控制,为后续的施工制造提供了有力的技术支持。

    行业文档-设计装置-一种整体燃气式天然气压缩机提高压缩效率的方法.zip

    整体燃气式天然气压缩机是一种特殊类型的压缩设备,它直接利用天然气作为驱动介质,通过内部燃烧来产生动力,推动压缩机工作,减少了中间能量转换的损失,从而提高了整体工作效率。这种设计方法旨在优化压缩过程,...

    网络游戏-提高网络变压器生产效率的方法.zip

    7. **员工培训**:提供定期的技术培训,提升员工技能,减少生产过程中的错误和事故,提高工作效率。 8. **环境因素**:确保良好的生产环境,如恒温恒湿的车间,有利于提高产品质量和延长设备寿命。 9. **供应链...

    利用UDF提高产品设计效率

    这种方法不仅适用于键槽设计,还可以扩展到其他尺寸参数系列化的结构设计,如螺纹孔、槽孔等,大大提升了设计灵活性和工作效率。通过UDF的使用,设计师可以更专注于创新和优化设计,而不是重复繁琐的几何构建过程,...

Global site tag (gtag.js) - Google Analytics