这张图片将改变你学习编码的方式
索尔·科斯塔
最近,互联网上出现了几张令人惊叹的可视化图片,展示了 2017 年 Web 开发人员使用的各种技术。其中一张(面向后端开发人员)如上图所示。
这些资源对初学者和专家来说都非常棒。它们清晰地列出了如果你想成为前端 Web 开发人员、后端 Web 开发人员或系统管理员,你需要了解哪些技术。
但我认为它们对于学习最初几行代码的初学者特别有用。
原因如下。
我编程已经超过 15 年了(8 岁就开始用 QBASIC 编写游戏)。我自认为是一名全栈 Web 开发者,因此,这些可视化图表中展示的所有内容都或多或少地属于我的领域。
现在仔细看看这些图。它们很吓人吧?但它们并非开发者所需知识的全貌。一点也不!你真的认为我——或者任何开发者——真的知道如何使用这些东西吗?
没机会。
当你刚开始学习计算机编程时,你肯定会感到不知所措。你听说过有些学生能用 10 种编程语言编写代码,遇到过传说中的 Linux 大师,或者努力跟上老师快速讲解的数十个计算机科学概念。和成千上万的人一样,你可能犯了一个很容易理解的错误:你认为自己应该掌握编程的一切知识 。
你不是。而且也没人会指望你会这样。
即使我已经做了多年的开发者,我对图片中那些技术也只有一小部分的了解,甚至有些我都不认识!我可能在某些时候用过其中的一半,但其中 75% 的使用时间加起来可能不到一小时。
但如果你让我花一个小时学习其中任何一个,我可能就能用上。因为我知道如何 像开发人员一样学习。
作为一名开发者,如果你试图掌握每一项新技术,那你永远只能是徒劳无功。新技术实在太多了,而且变化速度比以往任何时候都快。你最多只能选择几项保持最新状态。
因此,与其花时间学习每一种编程语言和技术,不如学习如何像开发人员一样学习。这意味着:
学习如何阅读文档
以下是Python 文件输入和输出的示例。以下是Golang 中类似库的示例。
发现相似之处了吗?当你试图回答这些问题时,代码示例、简短摘要和类型化接口(如果你幸运的话)是你最好的朋友:
- “这个图书馆能实现我想要的目标吗?”
- “我该怎么做我想做的事?”
- “有没有更好的方法来实现我心中的目标?”
学习如何 阅读源代码
以下是Python 中 JSON 编码器的实现。如果这个库的某些部分运行不如你预期,或者文档不足,阅读代码应该能帮你找到所需的信息,尽管(通常)格式不太容易理解。
我发现一些有用的技巧是:
- Github 的代码搜索实用程序
- 允许您查看源代码的 REPL(例如Ruby 的Pry )
- 克隆开源项目并插入调试语句以查看其工作原理
学习如何调试代码
调试器、Break 语句、Print 语句!学习如何使用它们来深入代码中的问题,因为你的大部分时间都将花在这上面。以下是一些需要牢记的实用技巧:
- 当你开始处理一个 bug 时,要尽可能地跳出固有的思维模式。如果问题根本不出在代码上,而是出在运行它的服务器上呢?或者出在数据格式错误的地方呢?如果你不能立刻察觉到 bug 的存在,那么你可能找错了地方。
- 休息一下。调试时,你很容易陷入你认为 bug 所在位置的思维定式,而完全错过它真正的所在。为了放松一下,别忘了你的大脑本质上“只是”一系列连接在一起的线路,所以如果你在一条路径上走得太远,就很难跳到另一条平行的路径,而那条路径可能是你真正想要的。所以,站起来,想点别的事情,让你的大脑重置一下。当你回来的时候,bug 就在你的眼前了。保证。
- 代码(几乎)总是正确的。它完全按照你的指令执行,这既是好事也是坏事。你只需要找到你(或者其他人——说的就是你,史蒂夫!)让它做错事的地方。
学习如何寻求帮助
这听起来并不像俗气。当你遇到困难时,有很多好地方可以寻求帮助。我通常的顺序是:
- 谷歌
- StackOverflow(通常来自 Google)
- 该库的 Github 问题部分
当你向别人寻求帮助时,请记住以下几点:
- 帮助您的人可能对您的具体问题知之甚少(甚至一无所知)。请向他们提供必要的上下文,但不要让他们负担过重。这有时意味着要包含您的部分代码、应用程序日志、程序配置或任何与您的用例相关的细微差别。
- 保持整洁。阅读充满拼写错误、格式混乱的代码以及无休止的问题描述的错误报告非常困难。
- 不要发布敏感数据。请仔细检查帖子中的密码、访问令牌和用户数据。如果确实犯了错误,请承担责任并尽快解决。
结论
作为一名开发者,要精通所有知识实在太难了。别想着一蹴而就。学习如何以最佳状态工作,构建一套适合自己的工具集,不要试图掌握所有答案。专注于学习如何快速找到答案。
无论您是刚开始学习编码还是您的手指已经被您最喜欢的机械键盘磨损,我都希望这篇文章对您有所帮助。
记住: 没人指望你什么都知道。玩得开心,永不停止学习。
如果你想聊聊编程,可以在Twitter上找到我。或者,如果你想今天学习一些新知识,可以参加next.xyz上的免费课程!
编码愉快!
最初发表于 Medium此处。
文章来源:https://dev.to/nexttech/this-picture-will-change-the-way-you-learn-tocode-4kmh