为什么说大多数程序员都缺乏基本功?

时间: 2019-08-22阅读: 308标签: 程序员

什么是程序员的基本功

有人说:“初级程序员才比招式,高级程序员只看内功。”什么是程序员的基本功?不是那些高大上、新潮的技术、框架,而是程序员每天做的基础工作。

所谓基本功,就是说抽空都要练习的。就像一个学武之人一样,每天早上要跑步、扎马步,也像一个京剧演员样,一大早就要吼几嗓子,我们程序员也得每天练习基本功。

广义的基本功涉及到生活的方方面面,丰富的想象力,缜密的逻辑思维、学习能力、恒心和毅力、沟通能力....这些时时刻刻都能练。今天,我们主要说的是狭义的基本功:数据结构,基本算法、编程思想和设计模式、至少精通一门语言等。

程序员都知道程序=数据结构+算法,可见数据结构和算方法对我我们程序员来说是何等重要。举个实际的例子,假如浏览一个网页,本来需要1秒的时间能够打开,结果由于程序员的失误或粗心,或者说基本功力不足,使得整个过程变成2秒,你可能认为这个无所谓,不就是多了一秒么,应该没什么大不了的。如果你真这么想就大错特错了。

就拿个一般的网站举例,每天1WPV,那么浪费的时间就是每天166.67分钟,1年就浪费60834.55分钟。约等于42个昼夜!而且这个对计算机的损耗,以及浪费的电能等都还没有计算。

除此之外,编程思想同样是程序员应该着重修炼的基本功之一。重视思想、重视问题的本质,不要浮在表面看待问题。

以我们前端开发岗位面试为例,假如面试时被问到一个web开发的基础问题:说说session的原理。这个对于搞web开发的人来说,是个很基本的问题。如果连session的原理都搞不清楚,说明这个人不是很喜欢思考。平时开发肯定都用别人说的,别人怎么说,他就怎么做。至于为什么一个用户能够登录成功,他始终是不清楚的。

当然,不明白session的原理不是说就不能搞程序开发,一个项目也需要一些纯的coder。纯的coder就是按照要求填写代码的,基本不需要思考。相信每个有追求的程序员都不会甘愿成为一个纯的coder,那么,请在遇到实际问题的时候,多深入思考思考,多问几个为什么,一直深入到问题的本质。这样坚持下去,你绝对是一个有思想的程序员。碰到问题就很容易拿出一个靠谱的方案。


重视程序员的基本功,会给我们带来什么好处呢?

程序员掌握扎实的基本功有多重要?我们先来看看基本功扎实的程序员都具备的素质:

1.具备良好的沟通能力。沟通不仅仅是说话或者写文档,程序员还应该能用自动化的测试作为媒介,准确地框定需求范围。

2.他应该能有效地拆解任务,要把任务拆解成可以落地,可以逐步实施的小块。

3.应该能在保证质量的情况下把拆解好的任务快速实现出来,让每一行代码都是有测试覆盖、有质量保证的。

4.基本功能力就是代码质量要好。写完一段代码之后,应该回头看一看,有没有坏味道,用适当的重构方法把坏味道消除掉,让代码质量保持在良好状态。

5.做前面几件事情的速度要快。只是头脑里知道怎么做,没有用。因为一旦有压力的时候,就很难施展出来,所以要反复的练习,保证快速完成这一系列的动作。

其实你看,上述每一点都很简单,要求也不高,但是往往就是做起来就很难。这也是我们与高级程序员之间的距离。


程序员如何修炼基本功

程序员的基本功通常不是可以速成的。虽然说,你可以在一两年看完相关的书籍或论文,但是,这些基础技术是需要你用一生的时间来学习的,因为基础上的技术和知识,会随着阅历和经验的增加而有不同的感悟。

不过想修炼基本功,小渡可以提供给大家几点小建议:


提高学习能力

所谓学习能力,就是能够很快学习新技术,又能在关键技术上深入的能力。只有掌握了上述基础知识,你才能够拥有好的学习能力。

学习必须持之以恒。开始很容易,但要坚持,却很难。所以,请务必要坚持下去,每天学习一点点,时间一长,你的能力就会质的提升。


保持激情

首先要热爱学习,把学习当成一件快乐的事。

第二要给自己找自己奋斗的理由。比如想给家人更好的生活,想有更好的工作,所以我一定要出人头地,所以我要努力学习。


高标准要求自己

只有不断提高标准,你才能越走越远。

吃透基础技术、提高学习能力、坚持做正确的事、高标准要求自己,不仅会让你全面提升技术技能,还能很好地锻炼自己的技术思维,培养技术前瞻性和决策力,进而形成技术领导力。


可能我们在学习的时候,会有一段时间感觉好像自己什么都知道了,于是开始自满停滞不前。但知识就像是车轮,学得越多,这个车轮就越大,转一周所需要的行程就越长,而你会发现,车轮变大的同时,所接触的东西也是越来越多了,然后猛然发现,不会的东西变得更多了。如果一个人没有问题问,只能说明知道的太少了。

其实不仅仅是程序员的工作这样,其实所有的事情都是一样的道理:越是简单的东西,大家往往越不重视,而往往越是这些基础的东西才是真正决定能否成功的关键。

作为专业的程序员,IT行业发展迅猛,新的思想和新的东西不断涌现。如果我们不睁大双眼去观察,去了解,我们就会被逐渐淘汰。我们需要在日常工作生活中,一点一滴不断去修炼自身的基本功。基本功扎实之后,想不掌握更高维度的技术都难!


站长推荐

1.阿里云: 本站目前使用的是阿里云主机,安全/可靠/稳定。点击领取2000元代金券、了解最新阿里云产品的各种优惠活动点击进入

2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各类产品的最新活动,优惠券领取点击进入

3.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/5463

精通型程序员的特点

有能力胜任是指有足够的经验和知识来完成各项工作;精通涉及知道为什么你要用某种方式来做事情,以及如何融入到大局中。换句话说,精通型从业者总是有能力胜任,但反之可能不成立。

程序员小白的个人思考

首先提到的是达克效应,全称为邓宁-克鲁格效应(Dunning-Kruger effect)。它是一种认知偏差现象,指的是能力欠缺的人在自己欠考虑的决定的基础上得出错误结论,但是无法正确认识到自身的不足,辨别错误行为

作为一个新手程序员该如何成长?

这种想法,在我们作为一名软件开发人员刚进入工作领域的时候,非常常见。我也不例外。这种想法会让人觉得自己不如其他的开发者,感觉自己是滥竽充数的,感觉自己像一个全面的傻瓜,当涉及到写代码的时候。

优秀的程序员真的不写注释吗?

我在很多地方看到这样一个观点,请停止写注释,因为只有烂的代码才需要注释。这个观点非常巧妙,它让我想起了孟子的一句话,杨氏为我,是无君也;墨氏兼爱,是无父也。无父无君,是禽兽也。

助力程序员成功的几个好习惯

但是今天我想从一个略有不同的角度来探讨这个主题。不是关于如何更擅长编程,而是如何使程序员更有市场竞争力。不要曲解我上面的意思。更擅长编程肯定能让程序员赚更多的钱。但这方面的提高可能最终会受到边际报酬递减的影响。

程序员必知的 89 个操作系统核心概念

操作系统(Operating System,OS):是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备

程序员如何在当今就业市场中让自己脱颖而出

俗话说,钱不是万能的,但没有钱是万万不能的。可见钱对于生活的重要性。不管你从事什么职业,实现财务自由才能让你无所畏惧地应对挑战。但是还有一点是值得开发人员所关注的:如何脱颖而出与众不同。

一名 40 岁老程序员的反思

我是一名程序员,几个月前刚过完四十岁生日。某个星期六的早晨,我参加了一个 React Native 技术交流会,演讲者正在竭力说服我们为什么它会成为移动开发领域真正的下一个大事件

程序员为什么喜欢在晚上编码

如果你问大多数开发人员更喜欢在什么时候工作,大部人会说他们最高效的时间在晚上。这对于那些在工作之余为开源项目做贡献的人来说更是如此,有些人喜欢从晚上开始,一直工作到凌晨,而另一些人则很早就起床(例如,凌晨 4 点)

怎样才能叫高级程序员?

当一位同事说出了文章开始我引用的那段话之后,我意识到我们已经迷迷糊糊地碰上了一个对于整个公司来说都非常重要的问题:我们无法为我们想招聘的角色下一个定义,也不知道我们该怎样培养我们的程序员

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!

文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全运营推广