前方高能!这可能是一张会颠覆你编程学习的思维图!

大数据文摘作品,转载具体要求见文末

编译团队|璐 张伯楠

最近几幅精彩的关于2017年网页开发者所采用技术的可视化图出现在了网络上。下图(偏向后端开发)就是其中之一。

这些对于新手和专家都是超赞的资源。图里面清晰地展示了如想从事前端网页开发员、后端网页开发员或者系统管理员工作,所需要了解的一切技术。

而我相信这些对于刚开始学习人生头几行代码的纯新手是尤其有用的。

下面就是我这么想的理由。

我编程已经超过15年(从8岁时使用QBASIC游戏开始)。我认为我是一个全栈工程师,作为一个全栈工程师,上面可视化图表中出现的每一项内容我都或多或少地有所了解。

现在好好看看这些图片。你觉得它看起来很吓人,对不对?但是成为一个开发者,这并不是一张你需要全都知道的图谱。完全不是!你真的觉得我——或者任何开发人员——真的知道怎么使用全部这些东西吗?

臣妾做不到!

当你刚刚开始接触电脑编程的时候,这些知识完全过多了。你可能听说过有学生能用10种语言编程,见过传说中的Linux专家,或者学习大量的计算机科学概念尝试跟上你的导师速度。就像其他成千上万的人一样,你很可能犯了一个非常可以理解的错误:你觉得你需要知道关于编程的一切。

但你并不需要这么做。而且没有人会期待你做到这点。

即便做过几年的开发人员之后,我只在那些图片中一小部分技术能够达到“精通”的水平。其中的一些我甚至不知道是什么!我曾经在不同的项目上用过它们中的大概一半,但是75%的这种使用情况在我的一生中都不超过1小时。

但是如果你让我坐下来学习一个小时,我很可能能够使用。这是因为我知道怎么像一个开发者一样去学习。

作为一个开发者,如果你尝试在每个新技术上都保持在最前列你会常常铩羽而归。他们实在是太多了,并且比以往变化的都快。最好的方法是,你可以选择一些技术随时留意最新变化。

所以,你应该学习怎么像一个开发者一样去学习,而不是把你的时间花在学习每一个语言和技术上。下面来解释一下:

学习怎么看介绍文档

这里(https://docs.python.org/3/tutorial/inputoutput.html#methods-of-file-objects)有一个Python文件输入和输出的例子。这里(https://golang.org/pkg/io/ioutil/)在golang上有一个类似的例子。

看见相似点了吗?当你尝试回答下列这些问题的时候,范例代码、简短的总结、以及类型接口(如果你幸运的话)将是你最好的伙伴。

  • “这些程序包能否完成我想做的事?”
  • “我怎么做到我想做的?”
  • “这里有没有更好的方法来达到我心中预设的目标?”

学习如何阅读源代码

本链接(https://github.com/python/cpython/blob/3.6/Lib/json/encoder.py)是JSON编码器在Python的应用。如果这个程序包的一些地方运行的与你预期不同,或者介绍文档缺失,读一读源代码会让你找到答案,尽管(常常)格式不是很亲切。

一些小技巧我发现很有用:

  • Github的代码检索工具。
  • 让你看到源代码的交互工具(比如Ruby的Pry)。
  • 拷贝开源项目并且加入调试语句来看它们如何运行。

学习怎么调试程序

调试器、中断语句、打印语句!学习怎么运用它们来修正你程序中的问题,因为这将是你花时间最多的地方。记住这些有用的东西:

  • 当你开始调试一个程序错误,尽可能多的考虑外部因素。要是代码完全没有问题,而是跑代码的服务器有问题怎么办?或者一些数据的格式错了呢?如果不能马上发现代码的问题,你可能考虑错了方向。
  • 休息一下。当你调试程序的时候,你很容易就只关注你觉得有问题的部分,完全忽视了真正存在错误的地方。让自己休息一会,别忘了你的大脑实际上只是一系列互相连接的线路,所以如果你在一条路径上走的太远,大脑很难跳到另外一条平行的线路上,而可能这条线路才是你实际上寻找的。所以站起来,想想别的事,清空你的大脑。当你回来的时候,程序漏洞将会直直的盯着你的脸。我保证。
  • 程序(绝大部分)总是正确的。它完全按照你的指令运行,这点有好处也有坏处。你需要找你(或者其他人)在哪里让它去做了错误的事情。

学习如何寻求帮助

这件事并不像听着那样掉价。有大量的非常棒的地方可以给你提供帮助,让你走出困境。我一般会依次看:

  • 谷歌
  • StackOverflow(http://stackoverflow.com/)网站(常常在谷歌看到)
  • 程序包的Github问题部分

当你请教别人的时候,最好能记住下面的内容:

  • 帮助的人对你的问题了解的并不充分(如果有些了解的话)。给他们必要的背景解释,但是不要说得过于繁杂。这代表你需要介绍你部分的代码,应用程序日志,程序配置,或者你案例中任何细微的调整。
  • 保持文档整洁。去读一篇充满拼写错误,无格式的代码,或者没有结尾的问题描述的错误报告,是很困难的。
  • 不要上传敏感代码。再三检查你的贴上去的密码,访问令牌和用户数据。如果确实犯了错误,你要承担责任并且马上解决它。

结语

作为一个开发人员,相关的知识技能太多不可能全部熟练掌握。甚至不要去费力尝试。学习如何把工作做到最好,建立适合你的工具列表,并且不要尝试找到所有的答案。专注于如何快速找到答案。

不论你是刚刚开始编程还是已经有丰富的经验,我希望这篇文章对你有所帮助。

记住:没有人期待你什么都知道。享受这个过程,并且不要停止学习。

如果你想聊聊编程,你可以在Twitter或者Codevolve.com上面找到我。

编程快乐!

原文链接:https://medium.freecodecamp.com/this-picture-will-change-the-way-you-learn-to-code-557ac1e109bd?source=linkShare-9549803b36be-1492658954

关于转载如需转载,请在开篇显著位置注明作者和出处(转自:大数据文摘 | bigdatadigest),并在文章结尾放置大数据文摘醒目二维码。无原创标识文章请按照转载要求编辑,可直接转载,转载后请将转载链接发送给我们;有原创标识文章,请发送【文章名称-待授权公众号名称及ID】给我们申请白名单授权。未经许可的转载以及改编者,我们将依法追究其法律责任。联系邮箱:zz@bigdatadigest.cn。

原文发布于微信公众号 - 大数据文摘(BigDataDigest)

原文发表时间:2017-05-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互扯程序

千万级规模高性能、高并发的网络架构经验分享

现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。

1746
来自专栏大数据和云计算技术

实用调度工具Airflow

引言 前面写过一篇文章《端午搬砖:聊聊调度云服务》,主要讲云服务的。如果企业也业务上云,可以优先选用这些服务,减少工作量。 而在传统企业内部,数据集成是基础,更...

7186
来自专栏华章科技

以朋友圈为例,腾讯资深架构师揭秘鹅厂大数据平台是怎样运营的

导读:本文将从构成运营成本的主要运营资源(设备资源、带宽资源、专线资源)出发,以实际案例分别阐述精细化技术运营实施的要点。

4045
来自专栏云计算D1net

函数云”即将崛起?

工具始终为其用途所塑造。当云计算首次出现时,是一种虚拟化托管的形式,其目标是看起来和裸机服务器一样。 基础架构即服务(IaaS)形成了最早的云服务,它仍然主导公...

3527
来自专栏企鹅号快讯

Python出新项目,共享平台助数据科学家协作

【IT168 资讯】尽管Python广受欢迎,并且在数学和数据项目中无处不在,但在协作方面,Python传统上还是落后于JavaScript。 ? 作为部落社会...

2356
来自专栏安智客

可信软件基概述

安智客长期关注可信执行环境TEE,今天了解学习一些可信软件基TSB(Trusted Software Base)。要了解可信软件基,先来了解可信计算基TCB(T...

3484
来自专栏IT大咖说

超实用案例:美团终端主动监控平台的建设

内容来源:2018 年 01 月 05 日,美团高级技术专家李燕青在“2018 移动技术创新大会”进行《终端主动监控平台的建设》演讲分享。IT 大咖说(微信id...

1473
来自专栏程序员的SOD蜜

“领域驱动开发”实例之旅(1)--不一样的开发模式      一、分析业务需求。    二、设计领域对象模型    三、测试领域对象模型    四、设计业务处理类    五、设计Entity和Vi

    听说DDD-“领域驱动开发”已经很久了,园子里面已经有不少大牛写过博文介绍,但我一直没有尝试过,直到今年公司的一个项目出现数据库移植,原来的业务逻辑都写...

2427
来自专栏Java学习网

10+年程序员总结的20+条经验教训学习

10+年程序员总结的20+条经验教训学习 开发 1.从小事做起,然后再扩展 无论是创建一个新的系统,还是添加功能到现有的系统中,我总是从一个简单到几乎没有任...

2327
来自专栏WeTest质量开放平台团队的专栏

数风流人物之《游龙英雄》--说说如何脱颖而出

在2014年的腾讯游戏嘉年华盛会上,由银汉游戏开发,腾讯游戏独家代理的横板格斗手游大作《游龙英雄》重磅首发,并在之后一发不可收拾,一跃成为一代动作类手游的巅峰之...

1093

扫码关注云+社区