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

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

什么是程序员的基本功

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


程序员如何修炼基本功

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

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


提高学习能力

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

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


保持激情

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

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


高标准要求自己

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

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


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

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

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


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

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

程序员炫富方式_程序员是如何低调炫富的?

程序员是不是有一种众人皆醉我独醒,君临天下冷眼看苍生的傲气。看不出的炫富才是真的富,程序猿的理想就是 :当我按下运行键的那一刻。跳出程序和我设想中的是一模一样的,什么调试都不用,一个bug都没有

假如程序员生活在童话里…

有一天,狼想盖一座房子,他找来了三只小猪建筑师中的老大。过几天狼接到了猪大哥的报告说,房子已经完工,于是他去查看。

值得程序员一看的 8 个冷门小知识

想要成为一名成功的程序员,我们除了了解不同编程语言的设计思路,也应当了解编程的发展历史,从而判断未来的编程技术将走向何方。接下就为大家普及下计算机发展历程中的8个冷门小知识!

程序员最核心的竞争力是什么?

一听到这个,我就不由得叹口气:今天这一小时又算是交代了,这人基本上没戏。因为根据我的经验,这句话如果由工作不满两年的人说出来,很大概率这是个不会学习不会感恩又特别爱抱怨的人。

作为一个程序员我最大的遗憾

20多年前我处在了人生的一个十字路口。随着我们用5年时间为出版社(他们希望进入新兴的互联网空间)打造的Deltagraph的终结,我的第二家公司逐渐走向没落。那时我已经有了13年作为程序员的经验

程序猿搞笑趣图

客户需求vs最终产品、程序员的一天:寂寞的时候干什么?写程序写程序写程序,失恋的时候干什么?写程序写程序写程序,发骚的时候干什么?开发平台的差异、C++ vs C...You have no class(没地位,无级别)

最令程序员沮丧的 10 件事

软件开发是一个伟大的工作——和任何其他工作一样,它也有它的缺点。下面的10件事就是大多数程序员关于编程所无法苟同的。对于非软件开发人员来说,开发人员的工作看起来一定很甜蜜

怎样才能叫高级程序员?

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

程序员的微创业

不知道有没有觉得程序员是吃青春饭的;有没有发现很多公司的招聘需求上写着35岁以下不要;有没有发现一转眼都已奔三,却依旧一事无成,无房无车;

倾听程序员的心声真的很重要

说到开发产品,没有人比程序员更了解产品。程序员知道产品的优点、缺陷、用途和潜在用途。说起这些,程序员了如指掌,如数家珍。

点击更多...

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