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

更新日期: 2019-08-22阅读: 1.7k标签: 程序员

什么是程序员的基本功

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


程序员如何修炼基本功

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

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


提高学习能力

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

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


保持激情

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

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


高标准要求自己

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

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


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

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

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


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

1024节日的由来,程序员的你最想对自己说的是什么?【1024程序员节日】

吃饭睡觉写代码,基本都程序猿的大部分生活了,作为从事最累的职业之一的我们终于有了自己的节日,那就是1024。1024向程序员致敬,向自己致敬,向未来致敬。

一个程序员的运气有多重要

互联网注定是一个不能安宁的行业,有一些人在努力引领变化,有一些人在努力适应变化,有一些人在被时代的浪潮淘汰。这个世界唯一变的就是变化,人生唯一不能停的就是学习,说到底,要想不被淘汰,只有不断的学习。

如何成为10倍速的程序员

国外有个词叫做10x Programmer,直译是以一当十的程序员。我并不认为一个技术大牛能完成10个普通程序员的工作,技术大牛会花1/10的时间把工作做完,然后用剩下9/10的时间平衡生活、爱好和未来,所以我仅把10x Programmer叫做10倍速的程序员。

优秀的程序员是不看源码的,这是真的么?

仍是要永远 ctrl+v,永远拿来主义。仍是要时时刻刻对美好满怀期待,对未来充满渴望,对经典心怀敬畏。要记住啊,能原创而不原创,有源码而远源码,才是最无知的成熟。

优秀程序员的十个习惯

优秀程序员有哪些好的习惯:1. 想清楚,再动手写代码,2. 不交流,就会头破血流,3. 文档没人看,但还是要写,4. 一定要写注释,5. 别指望需求会稳定

程序员和用户

我曾经说过,程序员不是一般的人,是具有某种超能里的人。但问题是,程序员往往意识不到自己的这种特异功能,在他们的眼里,会认为自己很普通,跟常人一样,所以,程序员能做到的事情

一个程序员送给大学生弟弟的那些话

分析自己的处境; 做适合自己的选择; 以成长为目的,担负起更多责任,打破对做事的认知; 把握机遇,去锤炼自己; 抛弃一些懒惰,多一些积极;向牛逼的人靠近,向给你提供条件帮助你学习的老师靠近。以上结合了我自己的经历,希望文章能更形象。

程序猿跳槽季,为什么你的薪水总升不上去?【转载】

现在身处跳槽高峰季,作为即将跳槽的我,在这里分享几点建议给大家。众所周知,找工作的前提是面试,面试的前提是过了简历,过了简历的前提是你怎么投。

程序员养生攻略_程序员防猝死指南

程序员在其职业生涯中,健康问题尤为突出。但是大部分程序员只顾码字,却往往忽略了自身的健康问题。这或许是因为写代码太入神,也或许是因为来自老板的压力太大。

程序员笔名、别名_适合程序员的英文名字

一个厉害的程序员,都会有一个牛逼哄哄、有辨识度有个性的英文别名。在公司同事中很更好的称呼,这篇文章翻译整理了一下适合程序员的英文名字

点击更多...

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