前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为什么很多程序员开发效率低

为什么很多程序员开发效率低

作者头像
用户5829239
发布2019-09-12 12:49:55
1.7K0
发布2019-09-12 12:49:55
举报
文章被收录于专栏:可持续开发可持续开发

在软件和互联网行业从业20多年,发现很多的程序员不知道怎么提升效率,团队有团队开发协作的效率,但单兵来讲,也有个效率问题。本文就单单讲一下开发如果提升自身效率的问题,怎么样从一个搬砖的码农走向有创造能力的码皇。

代码阅读能力不强

很多情况下,我们需要持续开发一个项目,就是说,很少遇到完全新开的项目,即使全新的项目,也非常有可能需要对接老的系统,所以,快速理解现有系统变动至关重要。快速理解现有的系统是有方式方法的,不是靠蛮力的。

要快速看懂代码,需要先从业务逻辑下手。我看到很多程序员接收代码,直接进入看代码状态,典型的无目标作战模式。代码是为业务逻辑服务的,连业务逻辑都没有搞清楚,代码内部逻辑就搞清楚啦?最好的理解业务代码的方式是自己亲自使用软件,和产品测试沟通,当然人家也不会有时间为你讲课,所以要先靠自己。当有些困惑的地方,可以就单点去询问同事,而不是只懂占用人家时间,人家忙就抱怨团队协作不好。对业务的理解能力的培养也是一个长期渐进的过程,需要做到细致,比如多看看同类软件,平时可以多和产品运营同学沟通,所以不要把技术能力看狭窄了,只是撸代码的能力。

基础知识能力不强,复杂的软件一般会用的很多技术框架,如基础能力强,则快速看懂和理解新接触的框架,找到正确的网上资料。现在网上资料非常多,基础能力不行,导致很多人遇到新的东西,找到很多资料,无从下手。也有一些人不懂得怎么搜索,告诉我网上没有资料,然后我花一分钟时间找到几个合适的,发给他看,能看懂的都算是优秀的。为啥基础能力对一个开发至关重要,请您参看”基础能力决定了程序员发展空间”。

日志和开发工具的运用能力也会影响代码的阅读能力,我之前发现有些程序员不懂得运用关键词全项目查找,或者函数引用的查找,显然没有把自己的”枪”运用熟练。还有查看代码使用DEBUG工具,原始的逐步执行,单线程项目还会,多线程项目怎么办呀。深入掌握日志系统,学会使用日志批量查看关键点,是优秀开发必须具备的能力。当然日志系统的功夫不是几天就能练成的,需要持续的使用和思考,因为怎么写日志,什么点写日志,都是需要经验和思考的,不能乱打,太多了,海量日志怎么看,少了,线索太少。

很多人抱怨没有文档,代码质量不好,其实90%以上的代码都存在问题,前些时间,一些刚刚入职BAT的开发抱怨代码质量不好,代码像狗屎,但很多情况下,自己写的代码其实是狗屎不如。真正做到规范化是很难的,需要团队个人能力强,团队协作管理能力强,具体请您参看”敏捷开发怎么真正实现落地”。所以,还是要面对现实,把狗屎理清楚了。要做到高效的梳理清楚代码,必须要懂得怎么先结构后细节,先关联部位,后内部细节。比如看书,新手都是从前往后,一页一页看,高手是跳跃式看书,更加有目标性和针对性的看书。看代码的时候需要做些总结记录,最好能够自己画成流程图,帮助全局把握代码结构,当然画图能力也是程序员一个重要能力之一,具体论述,请您参看”为啥开发的文档能力是核心竞争力之一”。

开发时候需要懂得沟通和事前规划

多数程序员是一种直线思维,就是接收完任务,直接就杀入进去编码,不做些流程图帮助自己思考和理清思路,导致进入以后,到后期才逐步发现问题。这就和一般人下棋,可能只想一步或者几步,高手下棋可能会想几十步,而且都可以做到不看棋盘。这种能力是逐步培训出来的,如果有技术领导指导会更有效果。我常常建议后台人员在了解完成产品需求后,把数据库设计,关键表,关键字段,表的关系,还有重要的流程做个先期设计,做个图表给我看看,我可以帮助他来分析那些地方可能遇到问题,但很少有人能够做到这点,都是说自己太忙,又不知道怎么做,没有时间学习。毕竟创业公司,一个萝卜一个坑,有时候老板项目催得紧,也就放弃坚持了。下面这个图的故事每天都在很多开发身上上演。

如果规划设计的好,开发时候少走弯路,否则自己都把自己绕死了,如下图:

很多人你让他学习些东西,他总说没有时间,但下班了总是很快就走了。

开发的时候要多思考,能够去辩证的分析需求,发现产品设计中的不合理的地方,并且及时跟产品进行沟通和确认,起到一个双重验证的效果,当然能够做到这点,是需要程序员有一定产品思维的,不要只知道执行,不懂得思考。

学会管理自己时间,变成多任务操作系统

很多程序员是直线工作方式,不懂得在多个任务中切换,不懂得分清主次。很多时候,开发可能会接收多项任务,需要懂得在这些任务中切换。要优先做等级高的需求,但有时候团队协作可能会遇到等待,这时候可以去做一些其它任务,把空闲时间利用起来。即使下班了,也可以在路上思考一下问题,本人喜欢健身,平时跑步或者健身,常常会有突发灵感的情况。之前有些同事问我,怎么能写这么多深度文章呀,我就是利用了自己的很多空余时间思考,比如做火车时间,锻炼时间等等,平时就会收集素材,不会等要写的时候再去找,所以写东西效率也高了,平时工作当中遇到的心得,也会记录下来。比如,开完技术讨论会,发现有些地方存在问题,或者有亮点,就记录下来。有的人分享的东西不错,就是趁热看看,收集下来,其实做公众号写文章,也是对自己工作的积累和总结,否则后面都忘记了。

学习总结要自己养成习惯,不要让人打着走,我发现很多人缺乏目标感。下面一个文章讲了一个阿里员工哀叹,加班磨洋工,加班不知道干啥。

这种低效率加班当然是和团队管理有很大关系,因为很多事情的完成需要多个团队协作,你这个地方准备好了,他那边调试,你要等着,而且牵扯面越多,这种等待耗时越多。这种情况下,为啥不能准备些其它学习的事情呢,典型的缺乏目标类型,打一棒子走一步。很多人抱怨加班厉害,没有时间学习,很多时候是因为我们不会去利用分散时间,不会知道多任务切换,不知道科学安排自己的时间,就和上面抱怨的阿里员工一样。

记得,2001年入职世界知名的物流公司KN,入职2个星期,我就基本掌握了他们的系统和代码,当然刚毕业我阅读了TCP/IP的源码,代码阅读能力也锻炼出来了。老板也没有给我定任务,所以,二个星期以后,我说我看懂他们搞了2年的代码,他们都不相信。其实这种能力也是长期锻炼出来的,本科不是计算机专业,什么东西都靠自学,时间长了,就学会安排时间和高效的阅读代码了。

总结

工作的高效率不是天生,是自己不断磨练出来的,树立自己的目标,不要太懒,不要找借口,时间长了,自然就发现自己进步了。如果觉得好,请您关注公众号,持续分享干货,帮我转发哟。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 可持续开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Prowork 团队协同
ProWork 团队协同(以下简称 ProWork )是便捷高效的协同平台,为团队中的不同角色提供支持。团队成员可以通过日历、清单来规划每⽇的工作,同时管理者也可以通过统计报表随时掌握团队状况。ProWork 摒弃了僵化的流程,通过灵活轻量的任务管理体系,满足不同团队的实际情况,目前 ProWork 所有功能均可免费使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档