为什么老程序员编程速度快,Bug数量少?

之前看到一位程序员讲到:2个月前公司有一个35+的老程序员入职,和项目主管一个年纪,但是还是干技术,基本没话,就是干自己的。公司暂时还没有让他挑大梁,观察了他2个月,发现那个老程序员手速不快,鼠标不快,码字不快,看他的代码,中规中矩也没有什么特别的地方,但是工作进度就是快很多。。。

我想说的是,老程序员不是APM比你高,也不是思维比你快(纯指反应速度)...
只是经验比你多...基本不埋雷而已...

这里以一个小故事向大家讲一下这种情况:

三个程序员被要求穿过一片田地,到达另一侧的房子。

菜鸟程序员目测了一下之间很短的距离,说:“不远!我只要十分钟。”

资深程序员看了一眼田地,想了一会,说:“我应该能在一天内过去。”菜鸟程序员很惊讶。

大神程序员看了一眼田地,说:“看起来要十分钟,但我觉得十五分钟应该够了。” 资深程序员冷笑了一声。

菜鸟程序员出发了,但只过了一会,地雷爆炸了,炸出了巨大的洞。这下他必须偏移预定的路线,原路返回,反复尝试穿过田地。最后他花了两天到达目的地,到的时候颤颤发抖,还受了伤。

资深程序员一出发就匍匐前进,仔细地拍打地面,寻找地雷,只有在安全的时候才前进。他在一天的时间内小心谨慎地缓慢爬过了这片地,只触发了几个地雷。

大神程序员出发之后径直穿过了田地,十分果断。他只用了十分钟就到了另一边。

“你是怎么做到的?”另外两个人问道,“那些地雷怎么没有伤到你?”

“很简单,”他回答道,“我最初就没有埋地雷。”

不过其实踩坑是一方面,还有编码能力和意识:

注意代码分层、结构

新手写程序,都喜欢把代码全部写在一起,我个人认为这个是属于意识层面的,并需要太强的编程能力,通过看别人写的代码,还是能够明白如何去组织代码,拆分代码的。核心思想就是“尽量每一个变量名有意义,每一个函数名有意义,每一个函数只干一件事情”。

以早上起床上班为例子,新手版本喜欢这样:

import 7788的能力function getUpAndGotoWork(){let i = 我;i闹钟醒了,去关掉闹钟;i赖床一下;i起床了;....i去厕所,挤牙膏;i刷牙;i上厕所;i洗脸;....i做早餐;i终于出门了.. i上公车...
}getUpAndGotoWork();

如果是老手,做法就是

function getup(i){...
}function fuckWC(i){
...
}function fuckTheJob(i){
...
}function Todo_Morning(){let i = 我;getup(i);//起床fuckWC(i);//上厕所fuckTheJob(i);//去上班
}Todo_Morning();

这一手漂亮的代码,是之后维护代码写单元测试定位Bug的关键!这很大程度取决了你的代码速度

其实呢,归结起来可以用一句话概括“用正确的方法做正确的事”。

除了这些,还有就是学习心态。。。

学习心态

  • 遇到新的东西或者问题,要去探一下究竟,搞明白原因;
  • 不要忽略基础知识,往往大的项目都离不开基础知识的铺垫,而每位老程序员都是掌握了非常扎实的基础知识的;
  • 找到适合自己的学习方法:关于学习方法的探讨很多很多,只是我们貌似从来没有在意过,另外,切记只有适合自己的才是最好的,成功的人有很多,但是他们的路你不一定走得了,去寻找属于自己的学习方法论吧!
  • 将知识体系化,做一个属于自己的体系化知识库;这样我们不仅会对我们学习的知识有个全面的了解,而且非常方便我们的复习巩固等!还可以让我们看到哪地方是自己的弱势,方便弥补!

这里以我自己举个例子,方便大家理解!

我在学习Android的时候会将自己学到知识都分类别的进行整理,将自己学到的知识体系化,例如我会分成如下类别:

这里再放上一些Android程序眼必备的基础知识点:(扎实的基础是非常重要的!)

Android应用是由Java语音进行开发的,SDK也是由Java语言编写的,所以我们要学习Java语言。另外,虽然说Kotlin语言也得到Android官方的热推,但是Kotlin也是编译成了Java语言在运行的。对于Android开发来说。只要SDK没有用Kotlin重写,那么Java语言都是需要学习的。而且Android apk的后台服务器程序大概率是Java语言构建,所以学习Java是一个必然。那么Java中那些东西是我们Android中比较相关的稍微比较难的Java基础几乎是一个门槛,像泛型丶多线程丶反射丶JVM丶JavaIO丶注解丶序列化等等

最后

不知不觉自己已经做了几年开发了,由记得刚出来工作的时候感觉自己能牛逼,现在回想起来感觉好无知。懂的越多的时候你才会发现懂的越少。

在我学习的过程中,最开始是在网上找了很多资料,毕竟这些资料是我们开始最快速的学习方法,这里我放上我这些年在网上收集到的资料,然后再以我的工作经验给大家总结一下,让你们少走些弯路,提取一些目前互联网公司最主流的Android开发架构技术,希望能帮助到大家!

Android前沿技术

NDK模块开发

对于程序员来说,要学习的知识内容、技术有太多太多,这里就先放上一部分,其他的内容有机会在后面的文章向大家呈现出来,不过我自己所有的学习资料都整理成了一个文档,一直在不断学习中,如今整理的资料不知不觉居然已经有将近80G了,,,在这里作为读者福利免费分享给大家,(可以关注我的主页个人说明有惊喜哦~)希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!

为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!

Android架构师之路很漫长,一起共勉吧!

如果你觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言,一定会认真查询,修正不足,谢谢。

为什么老程序员的效率如此高?编程速度快,Bug数量又少?相关推荐

  1. 为什么老程序员的效率如此高?编程速度快,Bug数量又少

    大神程序员出发之后径直穿过了田地,十分果断.他只用了十分钟就到了另一边. "你是怎么做到的?"另外两个人问道,"那些地雷怎么没有伤到你?" "很简单, ...

  2. 一位Python老程序员,给Python初学者的建议,希望你们少走弯路!

    Python要学多久可以学会,达到精通呢? 任何知识都是基础入门比较快,达到通晓的程序是需求时日的,这是一个逐渐激烈的进程. 通晓任何一门编程语言,都需求通过大量的实践来积累经验,解决遇到的各种疑难问 ...

  3. 程序员为什么老得快_中国程序员工资为什么那么高?老程序员:淘汰速度快,入行成本大...

    在中国,程序员的行业平均工资比一般的传统行业的工资都高,大多数传统行业有自己的职业天花板,不是职位晋升困难,就是工资水平有自己的天花板.而在互联网行业,程序员这个职业这种现象就不是很明显,月薪上万是普 ...

  4. 老程序员都去哪儿了?

    摆在老程序员们面前有三条路,一是转行,二是继续钻研成为技术大牛,三是转型为管理人员. 我最近采访了十五位30岁以上的老程序员们,在此我想发表下我的观点. 网络上总有这类观点-- 「如果所有的技术都想着 ...

  5. 一个老程序员的心里话(转载)

    1.希特勒地堡与cih病毒 99年4月,我来到北京参加研究生复试.复试完了之后就不回去了,我拿着一张光盘,里面刻着我用vb和authorware3.5编的一个cool 3d的教学软件,到处参加招聘会, ...

  6. 码龄超过20年,依然对生活和编程充满激情,这是三位70后“老”程序员的故事

    大数据文摘出品 作者:周素云.张秋玥 加班996,生病ICU. 这是一句最近搅乱了很多程序员平静生活,也让所有的"社畜"认真反思人生的话题.但是,让程序员们真正感到焦虑的其实并不只 ...

  7. 一位40岁“老程序员”的经历,给你们说一些我的真实想法!

    作者 | Ben Northrop 来源 |InfoQ 翻译 | 核子可乐 策划 | Tina 算法.应用程序安全.性能优化以及架构等等,这些东西衰减速度很慢,更值得认真钻研. 我是个程序员,差不多四 ...

  8. BAT老程序员分享:Linux C/C++ 开发程序员的黄金方向和学习路线!

    目前从事 Linux C/C++ 开发的程序员很多,尤其是像百度.腾讯.阿里这样的大公司,他们的网站流量巨大,业务逻辑复杂,会遇到很多瓶颈,需要开发底层服务来提高程序效率,快速响应用户请求. 这些公司 ...

  9. 一名老程序员的一点感悟给未来的程序员

    作 为一个技术不是大牛事业也不是很成功的老程序员,我觉着还是要写一些什么,来给未来的程序员们讲述一个过来人的感悟吧. 最近开始整理python的资料,博主建立了一个qq群,希望给大家提供一个交流的同平 ...

最新文章

  1. 首届“AIIA杯”人工智能巡回赛起航,5大赛区邀你来战
  2. Python-函数和代码复用
  3. 这是一场数学、数学、数学的盛会
  4. 深入理解jvm jdk1,7(1)
  5. 【操作基本数据类型的流】
  6. iTextSharp操作PDF
  7. google地图距离算法,如何计算谷歌地图中两点之间的距离?
  8. java运行环境配置_配置java开发运行环境的步骤
  9. 关系数据库(范式判断、函数依赖、无损分解、正则覆盖)
  10. 银河麒麟V10下载安装使用体验(上)
  11. 计算机老师教育感言,66句震撼人心的老师教育感言
  12. java学习第一步-工欲善其事必先利其器
  13. 四、Mosquitto 高级应用之用户配置
  14. UE4入门实例13(制作外发光材质及TwoSidedSign、VertexNormalWS节点)
  15. 考研英语复习五大计划表
  16. Ryujinx - 基于 C# 开发的任天堂 Switch 模拟器
  17. 你想要的样子 我都有
  18. JVM_06 运行时数据区3-方法区
  19. 华为虚拟防火墙互通和访问外网
  20. 计算机科学与技术没落,这七所985一个A+学科都没有评上?有点尴尬了

热门文章

  1. 以铜为镜,正衣冠,以史为镜,明心志,以人为镜,明得失
  2. 快速开始keras 教程
  3. keras教程-静态图编程框架keras-学习心得以及知识点总结
  4. 消息中间件 - ActiveMQ高级特性和用法-Mirrored Queue 镜像队列(了解即可)(十)
  5. 【HTML】设置页面字体
  6. 服务器的丢包率一般与什么有关
  7. # 技术栈知识点巩固——Js
  8. java lint_提高你的代码稳定性与可读性-lint工具
  9. WZOI-285叠方块游戏
  10. java奈奈老师2_【图片】奥尔三X作【新任女教师奈奈、同居俏佳人、同居俏女仆】攻略&结局【javagame吧】_百度贴吧...