博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序员效率的奥义
阅读量:5795 次
发布时间:2019-06-18

本文共 1712 字,大约阅读时间需要 5 分钟。

自我感觉还是蛮在乎效率的人。为了提高效率,我特别重视如下几点:

工具化
我是个典型磨刀不误砍柴工的人。
2011年的时候,在开发一个项目前,我先花了几个礼拜自己开发了一套Web框架。
因为我之前做过一段时间的Ruby程序员,一对比,我发现,Java的Web框架都太不好用了,Java的ORM框架也不好用,Java 的MongoDB Client 也不好用。于是我决定开发一套一站式Web框架。
正好除了搜索的任务以外,公司希望做一个全站通用的标签系统。当时在选型上,老大说用Spring,我当时说,给我点时间,我自己开发一套开发框架出来,老大说,你有信心做好么,我说有。老大给予了肯定的答案
来自:
这套Web框架就是ServiceFramework。自己现在很多开源项目也都是基于这套Web框架是做的。比如StreamingPro编译的时候依赖的Web库是ServiceFramework,配置引擎则是ServiceframeworkDispatcher,都是自己非常常用的工具。
其实都是造轮子,然而这些轮子我们先不说它是否优于其他相似的开源项目,至少我对它们是把控力的,而且解决的也是我工作中比较常遇到的问题,所以用了起来特别的顺手,自然也就效率很高。

所以,积累自己的工具库,是非常有必要的。再提下刚才的StreamingPro,它的诞生是为了解决我使用Spark的问题。而为了解决运维相关的问题,我和同事也做了非常多的工具,有些我们花了一年以上的业余时间在持续完善。

预见和练习
虽然很多人似乎不Care所谓语系,不Care所谓工具,总觉得自己掌握了开发的真谛,其他一切我只要用的时候学下就能搞定了。
实际真不是这样。我们还是以语言为例,我学Scala只用了几天时间。在等火车,以及在火车上把官方的tutorial 看完,觉得差不多了,然后写了些简单的程序后,就能写一些业务了。然而我真正用顺了,用的不堵了,却花了几年的时间。对于一个不趁手的语言,代码质量是否能保证我们先姑且不论,其实也严重影响了开发效率。
所以我工作中潜在的可能会用到的东西,我都会先花很多时间去调研和练习,等真正用到的时候,就能如鱼得水,随心所欲。比如Scala,我早先只是简单用了下Spark,我完全可以用python或者Java去开发Spark 应用。但是我觉得Scala是有必要学习的,所以我花了很多时间去做练习。所谓练习其实就是真的把他应用到项目上。我之前有很多项目是java/Scala 混合的,这就为我后续对Spark Core的研究做好了铺垫。

所以对于一个程序员,对于自己工作技能的预见性能让你未来越来越游刃有余,而高强度的练习,则保证你做事情可以做的很顺手,不会用起来畏首畏尾。

打破惯性
所谓语言之争其实某种角度是守旧势力之争。每个势力都不愿意深入到别的地方看看,然后就说自己的地方是最好的。程序员是拥抱变化的,体现在程序员常说,一天不学习,就感觉自己进入了古代。然而程序员又是害怕变化的,对于自己不熟悉的东西,总是会比较排斥,这或许也是人类的天性。
尤其是在时间比较紧张的情况下,我们会常说,用最笨的办法先把这个解决了吧,这其实是在用蛮力替代一个良好的思考。好比命名可以用一个for循环解决的问题,你非要复制黏贴100遍。

所以,喜欢调研和测试新技术的程序员,往往是具有打破惯性的特质的群体。他们在不断的尝试过程中,不断的更新换代自己的武器,让自己保持某种先进性。这就好比一个国家不断更新自己的武器装备,一家工厂不断更新自己的机床车间。

让你身边的人也高效起来
这个是我直到今天才感悟到的。我一直努力让自己更加高效,不让时间虚度。然而当我们面临越来越复杂,越来越繁琐的任务时,我们不得不借助于团队。道理我都懂,然而却一直不上心。我们一直说团队是最重要的,然而我们终究并没有把心思完全放在团队上,为了自己的那点小九九。
只有身边的人也如你般高效,才可能释放出你来去做更多让更多人高效起来的事。更多的人更加高效,即节约了他们的生命,也反过来再次让你变得高效。
当你能够让身边的人也越来越高效,或许你就真的到了高效的最高境界。

转载地址:http://rpdfx.baihongyu.com/

你可能感兴趣的文章
MySQL主从同步相关-主从多久的延迟?
查看>>
Gradle之module间依赖版本同步
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务(十五)Springboot整合RabbitMQ...
查看>>
SpringCloud使用Prometheus监控(基于Eureka)
查看>>
10g手动创建数据库
查看>>
Spring MVC EL表达式不能显示
查看>>
【致青春】我们挥霍时间的年代
查看>>
Windwos Server 2008 R2 DHCP服务
查看>>
SAS和SATA硬盘的区别
查看>>
现代程序设计 学生情况调查
查看>>
U盘安装linux后无法引导
查看>>
C# 矩阵作业
查看>>
俺的新书《Sencha Touch实战》终于出版了
查看>>
关于数据库查询时报“query block has incorrect number of result columns”
查看>>
li下的ul----多级列表
查看>>
UVa 11292 勇者斗恶龙(The Dragon of Loowater)
查看>>
区域生长算法
查看>>
switch语句小练习
查看>>
组合逻辑电路
查看>>
POP-一个点击带有放大还原的动画效果
查看>>