您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    教你如何成为一名顶级顺序员
    时间:2019-01-28 12:15 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    教你如何成为一名顶级顺序员

    整理自Edmond Lau的《The Effective Engineer》。

    作者在写书的进程中,为了了解那些顶级顺序员和 普通顺序 员的区别,采访了很多硅谷顶级科技公司的顶尖软件工程师。他发现这些给世界带来庞大影响的的工程师们至少有以下5个共同的思想形式:

    1. 勇于去研讨你不懂的代码

    普通人都不情愿去研讨本人不曾接触过的代码,很多人都没有尝试就保持了。假设你常常去研讨你没有接触过的代码,你就会越来越熟习不同的代码结构和设计形式。如古人们很容易就接触到优秀的开源代码资源,你可以很方便的就下载上去做一些改动或许调试,去研讨为什么代码可以这么写。

    除了代码之外,很多人关于生疏的任务内容也会感到恐惧。每次换任务的时分,你能够都会遇到新公司的任务内容和以前任务的内容不一样的状况,以致于刚末尾的时分任务效率没有以前那么高。很多人甚至觉得,他们是不是骗了面试官。

    其实,大家都是在学习的进程中。在一个生疏的范围,没有人从一末尾就是大神。假设你想变得越来越好,无论是写代码,与人沟通或许其它的技艺,都是需求投入时间去学习的。

    2. 知晓代码调试(debug)

    很多人在写代码的进程中,常常会有的一个成绩就是:为什么我写出来的代码不能运转?为什么运转的结果不是我想要的?

    简直一切的顺序员写代码都不是一遍就能写好的。但是顶尖的顺序员十分快的就明白本人代码的成绩能够是什么。这是一个很重要的才能,但是偏偏学校里不教,面试的时分考官也不常常提及。

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

    不妨先猜测一下究竟发作了什么。

    假定你的猜测是对的,想想你的猜测会招致顺序有什么结果。

    试着察看这些结果有没有异常的中央。

    假设你没有发现异常,那么阐明你的猜测就是对的。

    假设你发现了异常,那么阐明你的猜测是错的,接上去换一个猜测试试。

    关于顶尖顺序员来说,这个进程在脑海中就是电光火石的一瞬间。只需你处置的成绩足够多,你做出来的猜测就会越准确。

    至于如何发现异常?你就需求有一套本人的工具或许办法论了。最复杂的就是在代码里输入日志来判别。但是这是比较笨的办法,你需求去接触一些初级的工具或许直接带有Debug功用的编辑器。

    3. 注重可以浪费时间的工具

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

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

    很多人也以为工具是很重要的,但是他们并没有花时间去制造、整合本人的工具。但是,Jonson团队最出色的员工消耗了他们1/3的时间在工具制造上,这些工具可以用来发布代码,监控系统,以及能让他们花更少的时间去做更多事情。

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

    4. 优化你的迭代速度

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

    假设你用一个好一点的编辑器,每次找到函数定义只需2秒钟,那么你每天就会浪费10分钟。每年你就可以浪费40个小时。

    假设你能找到3个这样的场景去优化一下,那么你每年可以浪费一个月的时间。想想这一个月你可以做多少有意义的事情。

    再假设你在调试一个App的bug的时分,改完一次代码都需求重启一下App,然后点击4、5次才能看到bug有没有改好。那么你是不是可以先花几分钟设置以下,让App一启动就转到显示Bug的页面呢?

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

    5. 系统性的思索方式

    当你在写代码的时分,你很容易就以为只需你按照需求完成了指定的功用,你的代码就写完了。但是这其实只是 冰山一角 。任何没有发布到消费环境的代码都不会产生任何价值。

    假设想写出真正有影响力的代码,你需求从整个系统去了解你的任务:

    你的代码和其别人写的代码在功用上是什么关系?

    你有没有好好测试你的代码?或许其别人能否很容易测试你的代码?

    为了部署你的代码,线上消费环境的代码是不是需求改动?

    新的代码会不会影响到曾经运转的代码?

    在新的功用下,你的目的用户的行为是不是你希冀的?

    你的代码有没有产生商业上的影响?

    这些成绩都不是很容易就能回答的,但是在写代码的时分,你需求明白你的代码最后会不会失掉最好的结果。

    【编辑引荐】

    顺序员锁死效劳器毁掉600万游戏项目?当事人回应

    剧情反转?锁死效劳器的顺序员发文怒怼...

    顺序员要避免的10个坏习气,看完终身受益

    那天,我有意间瞟了眼顺序员的桌面……

    如何从传统软件开发顺利过渡到互联网技术开发:硬技艺

    (责任编辑:admin)