程序员如何提高工作效率_iteye_4515的博客-程序员宅基地

技术标签: 开发工具  测试  

在网上看到这文章<<开发人员间的效率差在哪里>>,觉得挺好的,把自己晒晒,做做总结:

<!-- [if gte mso 10]> <mce:style><!-- /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} table.MsoTableGrid {mso-style-name:网格型; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; border:solid windowtext 1.0pt; mso-border-alt:solid windowtext .5pt; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-border-insideh:.5pt solid windowtext; mso-border-insidev:.5pt solid windowtext; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} --> <!-- [endif]-->

熟练人员

一般的开发人员

(2009.8)

经过多年的积累加上自己的 CodeSnip 的总结,基本不用额外再查找资料。

在开发过程中会花掉 10-20% 时间去查找资料。

有一定的积累,但没有养成良好的习惯,总要花时间找资料。

注意代码复用,并且时刻注意重构和抽取公用代码。

一般开发人员是代码拷来拷去完成功能。

开始注意复用以及重构,但总有吃力的感觉。

非常注意查找,定位,标签等各种快捷键的使用,定位查找方便快捷, IDE 环境也根据习惯定义到最方便状态。

懂得使用常用的工具

编码前先思考清楚整个流程,在头脑或纸张上规划好整个实现方式和方法函数的划分。

想到哪里写到哪里。

在面对较大工程时,很难在遍码前将整个流程考清楚

写了 50 行以上或更多代码才 Debug 一两次。

写了几行代码就要 Debug 多次,完全通过 Debug 来验证代码正确性。

习惯于 Debug ,还没养成常思考的习惯

注重代码的质量,单元测试和可维护性,注重各种业务逻辑的验证和边界条件的校验。

只注重简单功能的简单完成。

开始注意代码的质量,单元测试和可维护性,但总会考虑不周

提交测试的代码 BUG 很少,返工工作量很小。

由于自测不完善 BUG 较多,造成大量的返工工作量。

BUG 较少

合理分配自己的时间,规划好每天工作任务,开发过程各位专注。

一心多用,边开发边聊 Q

几乎没有规划

善于知识的总结和积累,形成自我的知识库和经验库。

则不善于这种总结。

经常总结

善于发现问题,分析不足而自我持续改进。

在外力干预下被动改进。

主动发现问题,但改进较少

熟练开发人员开发重点已经专业到对业务的深刻理解。

考虑的是开发上编程的语言和工具。

都有考虑

善于从各种影响自己开发效率的因素中挤时间,善于使用各种辅助开发工具。

有一定的经验


以上只是作出了比较,说明了好坏,那么你是否有想以下问题:

怎样才能提高效率?

我想来想去,就有一个结论:工作之余要多看优秀的代码和设计,并且多思考、多总结。

为什么工作的时候就不能做这些事呢?因为工作的时候来不及做了。如果说商场如战场,那么办公室就是程序员的战场,战场上都是性命相博的,哪有那么多时间来想那么多事啊!做软件开发其实也类似,每天8个小时感觉是不够的,如果把这些时间都花在学习,总结上,那么完成工作任务的时间就被占用了,这样就很难按时完成项目了。

实际情况是这样的:总会在开发过程中遇到形形式式的难题,我们要花不少时间来解决这些问题,如果能够解决那就演化成常见的软件延迟发布(这样的例子有无数),不能够解决的就成了烂尾工程(这种情况也很多)。

回到之前的结论,我必须在平时就做足准备,这样在工作的时候才能游刃有余。要知道,领导们可能在某天突然跟你说:客户们提出这样的要求,某某项目要在3个星期内完成。

工欲善其事,必先利其器。所以,要在项目之前做足工夫;磨刀不误砍材工。所以,我们又不能使用工作的时间来学习,实际上,工作的时间总让人觉得不足。其实,软件行业的加班文化是有其根源的,程序员花了大量时间来解决难题,而项目完成之后就把它一扔。下一个项目只是再次做这个循环而已。

最后一句:好枪需要经常用,好的身体需要天天运动,好的大脑需要常常思考,优秀的程序员要经常"加班"。呵呵。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/iteye_4515/article/details/81754585

智能推荐

关于html隐藏标签的问题_rainfriday3的博客-程序员宅基地_html jsp hidden inline none

库存数量: 只要在td标签后加上style="display:none" 既可以隐藏td标签中的内容

COBOL语言初级教程(1)--COBOL简介(续)_大可山人的博客-程序员宅基地

(续)ANSI COBOL于1985年发布COBOL-85标准。后X3J4更名为J4,负责处理COBOL语言的发展标准化。2002年,发布COBOL 2002标准。该标准新特性包括:· User Defined Functions· Object Orientation· National Characters - Unicode· Multiple Currency Symbols· Condi

安装最新的GCC_深度Java的博客-程序员宅基地_gnu.org下载太慢

GCC版本低了会出错,导致头文件不能解析,需要升级GCC。一、下载gcc最新源码包#wget http://ftp.gnu.org/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz二、解压缩#tar -xzvf gcc-9.3.0.tar.gz三、进入解压缩目录#cd gcc-9.3.0四、运行download_prerequisites脚本,这个脚本..._1671465600

数组队列的实现_Mr.kun的博客-程序员宅基地_数组队列

1.什么是数组队列要知道这个问题,首先我们要清楚数组有哪些特点。数组的优点是显而易见的,但是数组有哪些缺点呢?其中我认为最大的一个缺点就是数组大小固定,如果要存储的数据个数不确定的时候?就可能出现以下两种情况:1.数组空间不够,导致越界异常发生2.如果空间太大了,数据不够,就会浪费内存空间那如何解决这个问题呢,或许数组队列可以很好的解决这个问题。...

杜根定律_Tom Hardy的博客-程序员宅基地_面试题:杜根定律

鼓励我自己!“强者不一定是胜利者,但胜利迟早都属于有信心的人。强者未必是胜利者,而胜利迟早都属于有信心的人。换句话说,你若仅仅接受最好的,你最后得到的常常也就是最好的,只要你有自信。一个人胜任一件事,85%取决于态度,15%取决于智力,所以一个人的成败取决于他是否自信,假如这个人是自卑的,那自卑就会扼杀他的聪明才智,消磨他的意志。自信、执着、富有远见、勤于实践,会让你握有一张人生之旅的...

随便推点

mysql 坑记之一_MaraSun的博客-程序员宅基地_mysql 索要失效

最近公司的mysql竟然遭到了黑客的光顾,索要bitcoin! 虽然很少,但是足以暴露出黑手们是贼不走空的,多么小的网站都不放过.因此,迫不得已,只好开始慢慢调整mysql的安全使用方法,又踩了不少坑,本文记录一下.1、workbench 错误的正确理解,如图返回的错误笔者一直认为是配置有问题,各种检查,各种授权,其实是密码错误。因此,当你做了很多操作之后,仍然出现这个错误,请仔细检查你的密码。2、授权的坑明明Grant 各种权限,查询权限表各项,都是No。别急这个No 不是授权不成功,这个No的

ajax post传不过去,Ajax POST方式发送请求服务器接收不到数据问题解决办法_weixin_39963744的博客-程序员宅基地

直接看源码代码如下function setViewPoint() {var msg =""; //用于接收返回数据//实例化Ajaxvar leeAjax = leeInitAjax();var webRoot = window.location;webRoot = webRoot.toString();var domain = webRoot.substring(7);var endD = do...

用于Web开发的最佳编程语言_曹纪乾的博客-程序员宅基地

互联网的世界充满了在不同编程语言的帮助下开发的杂乱的网站,提供不同的好处和缺点。由于有大量的编程语言用于开发网站,您必须选择最适合您的网站需求的编程语言。在选择最佳语言之前,您需要对用于开发网络上可用的不同网站的所有可用Web开发编程语言有基本了解。PHP这种语言可以被称为服务器端语言类别中的Web开发世界之王。使用PHP Development India开发的网站涵盖了托管不同网站

2016 GDCPC 省赛总结_weixin_30536513的博客-程序员宅基地

大神们说,要多写博客,多总结,于是很久之前就开了博客,可是一篇文章都没有写,太懒也是,没什么时间也是。现在省赛结束了,也是时候好好总结一下了。本来一开始,三个人对拿铜牌是很有把握的,在比赛一开始A了4题水题之后,也是觉得铜牌应该是十拿九稳了。可是在后半段,我们三个人分工开了两题,主力在一道数据结构的题上面卡死了,而一道比较水的模拟题我们也是不太懂他的题意,也是一直在那...

python获取操作系统平台、版本及架构_maoyongfan3的博客-程序员宅基地

platform模块提供了底层系统平台的相关信息系统架构32位还是64位123456>>>import platform>>> platform.architecture()('64bit','ELF')# python 3.3.2+ 64 bits on debian jessie 64 bi

DIV重叠 CSS让DIV层叠 两个DIV或多个DIV顺序重叠加_影孓的博客-程序员宅基地_div 重叠

DIV重叠 CSS让DIV层叠、叠加,CSS让两个DIV或多个DIV按顺序重叠叠加篇让DIV重叠并按想要顺序重叠需要CSS来实现,即CSS绝对定位进行实现。重叠样式需要主要CSS样式解释1、z-index 重叠顺序属性2、position:relative和position:absolute设置对象属性为可定位(可重叠)3、left right top bottom绝对定位具体位置设...

推荐文章

热门文章

相关标签