您的位置:首页 > 职场人生

顶尖程序员与普通程序员的区别

2017-03-20 10:46 225 查看
普通程序员认为自己与顶尖程序员的区别, 主要是顶尖程序员任何功能都能编码实现, 编码速度快, 代码无 bug。正如一惯的那样,普通程序员之所以普通,正是因为他们勉强能看到(或者根本看不到)事物的表象而看不到本质。



顶尖程序员专业度:

1、精通代码调试(debug)

很多人在写代码的过程中,经常会有的一个问题就是:为什么我写出来的代码不能运行?为什么运行的结果不是我想要的?

那么怎么去调试代码呢?其实核心就是以下几个方法:

· 不妨先猜测一下到底发生了什么。

· 假设你的猜测是对的,想想你的猜测会导致程序有什么结果。

· 试着观察这些结果有没有异常的地方。

· 如果你没有发现异样,那么说明你的猜测就是对的。

· 如果你发现了异样,那么说明你的猜测是错的,接下来换一个猜测试试。

对于顶尖程序员来说,这个过程在脑海中就是电光火石的一瞬间。只要你解决的问题足够多,你做出来的猜测就会越准确。

2、重视能够节约时间的工具

最近打败人类的AlphaGo每天可以进行上百万局的下棋训练,我们人类一万个小时的训练却需要10年之久。也就是说,电脑运行几分钟,可能就等于人类工作好几年。

曾经在Facebook担任技术总监的Bobby Johnson描述过,高效率的程序员都把时间花在制作工具上。

总之,不要花时间去做机器可以代替你去做的事情。

3、优化你的迭代速度

假设你要花12秒钟去搜索某个函数是在哪里定义的。再假设你每天做这个动作60次,那么你每天就要花12分钟去搜索函数定义。

如果你用一个好一点的编辑器,每次找到函数定义只要2秒钟,那么你每天就会节约10分钟。每年你就可以节约40个小时。

千万不要小看这些琐碎的细节,改善它们的回报是巨大。



顶尖程序员软实力:

1、逻辑思维:理工科的男生思维都比较活跃,清晰;写代码之前都理清实现的原理再下笔;话说我们这还有个清华的女程序员,做事超级认真,职业素养非常高,程序都是一次性通过很佩服;

2、注重细节:代码缩进,变量命名,标点符号都需要做到规范,便于后期维护以及改版等等;

3、注重安全开发:程序员开发的代码不出现 bug 肯定是不可能的,除了修复 bug,一定要注意安全技术;

4、效率:不做无用功,碰到不能解决的问题,自己解决,不能解决就主动问,汲取教训,收获经验;

5、耐心:需求改变或者程序错误都需要静下心来不停的调试错误以及修改;就算有时候做自己不喜欢的事情,你也要坚持,也许会的达到意想不到的收获。

普通程序员如何成为顶尖程序员的几个要素?

1、不断学习

我们生活在一个有趣的时代。随着软件开发逐渐遍布全球各地,你会发现有很多人都可以干你的工作。所以你需要不断学习以保持竞争力。否则,你就会落伍,停滞不前,直到有一天,这份工作不再需要你,或外包给一些更廉价的劳动力。

那么我们能做些什么?有些雇主很慷慨,会提供培训以拓宽你的技能。也有的人会说我没时间或者没这个资金去接受任何培训。所以,关键是要摆正心态,学习是对自己的负责。

2、不要害怕破坏东西

每个具备行业经验的程序员肯定参与过代码库岌岌可危的项目。系统很糟糕,并且改变这边总是会破坏另一边不相关的功能。每次添加模块,程序员只能想着尽可能少地改变代码,每次发布都胆战心惊。这座软件的摩天大楼随时有坍塌的可能。

之所以改动代码会如此伤脑筋是因为系统太糟糕了。但是即使你知道系统出了问题,却又因为投鼠忌器,而不得不听之任之。

不要害怕你的代码。没有人会在乎当你捣鼓代码的时候有没有暂时破坏了什么东西。只要你做的改变不会让项目重新回到开始状态,就不会令人崩溃。

3、专业程序员

专业程序员的一个最重要的特点是有责任心。专业程序员会为他们的职业生涯、预算、日程安排承诺、错误、技能技巧负责。一个专业的程序员不会将责任推卸给别人。

专业程序员会为他们编写的代码负责。除非他们知道这些代码是有效的,否则就不会发布代码。现在,好好思考这个问题:如果是你,你会不会在不透彻了解代码的情况下就直接发布代码?

4、充分利用代码分析工具

测试的价值是编程早期阶段就灌输给软件开发者的一个理念。近年来,单元测试,测试驱动开发和敏捷方法的兴起,证实了我们开始注重于在开发周期的各个阶段进行测试。但是,测试只是你可以用来提高代码质量的许多工具之一。

几乎每一种语言都拥有至少一个工具,用来检查风格指南的违规行为、常见问题以及一些狡猾的有时候可能很难捕捉到的错误,如潜在取消引用空指针。

更高级的工具,如C的Splint,以及Python的pylint,是可配置的,这意味着你可以通过命令行开关或在IDE中,使用配置文件来让工具选择放过其中的哪些错误和警告。Splint甚至还能让你在注释中注解你的代码,以便于更好地提示你的程序是如何工作的。

5、关心代码

仅靠技术并不能成就好的编程。我碰到过一些非常聪明的程序员,他们能够产出令人印象深刻的算法,能够熟记语言标准,但却写出了最可怕的代码。这种代码,阅读起来很痛苦,使用起来很痛苦,修改起来更是令人痛不欲生。我也碰到过一些非常谦逊的程序员,因为坚持简单的代码,所以写出来的程序更优雅,更易于表达他的意思,和他们工作非常愉快。

另外还有一点可以通过自身的学习来获取一大进步。

分享给超过5万的程序员朋友下载,这次我把所有干货重新梳理精简,免费分享给大家 。



究竟有哪些干货呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: