12 岁开始学编程,17 岁总结了 7 个重要教训!

以下为译文:

大家好,我名叫Alec,今年17岁,我从12岁起就开始学习 Web 编程开发了。我远非优秀的开发人员,但我学到了一些普通开发人员应该知晓的经验教训。

以下是我学到的一些经验教训,我认为每个开发人员,特别是新手,都应该了解这些经验教训。

1、没有人无所不知

没有开发人员知道一切,所以你也不需要知道一切。

作为一名开发人员,你需要用心学习知识,例如在PHP 5.6版本中操作数组的方法,除此之外还有很多重要的技能需要掌握。是否知道这些小知识点无关紧要,即便忘了也可以上网搜索。

作为开发人员,很多技能远胜于学习这些微不足道的知识,例如:

提高解决问题的能力

提高团队合作和沟通技巧

增加对编程概念和语言的了解

创建优秀的项目来展示你的工作

专注于编写整洁高效的代码

成为开发人员的一个好处是你不需要知道一切。你只需要知道解决问题的方法。

2、Bug有助于学习

相信你们都听过《五只小猴子》的童谣,下面是bug版的童谣:

99个Bug在代码里闹,

99个Bug在代码里闹,

打个补丁,把1个改掉。

127个bug在代码里闹……

如果你在编程的过程中没有遇到任何Bug,那么就意味着你什么都没学到。

没有遇到Bug并不意味着你是一位伟大的开发人员,你太聪明了,压根不会犯错。这只能说明类似的东西你开发过很多次,你已经知道如何避免这些Bug。

遇到Bug说明你成长了。开发中存在无穷无尽的Bug,因此你必须学会处理这些Bug,越快越好。

3、没有必要接受正规的教育

17岁的我非常纠结这个问题。我应该上大学攻读计算机科学学位吗?

这对我来说是一个棘手的问题。但是,大多数读这篇文章的人可能不是17岁,可能你们大多数人已经工作了。

如果你大学毕业,那么绝对没必要再回去攻读计算机科学学位。你也不需要参加编程培训班。

GitHub中一些有趣的项目可以为你代言。如果你能够证明自己拥有编程的能力,那么你的背景并不重要。

这只是一个如何通过最佳方式学习的问题。

我没得选,只能在周末学习编程,因为我不能在高中期间请6个星期的假去参加培训班。

如果你想回到大学攻读计算机科学学位,或参加为期8周的培训班,那尽管去吧。但这没有必要。

4、上网搜索也是一门技术

如果你想成为一名出色的开发人员,那么就需要加强上网搜索的能力。能够找到你所需要的解决方案和代码至关重要。

你需要频繁地上网搜索,尤其是在学习一种全新的技术的时候。

有时,你需要将一些不明的东西添加到代码中。有时,你需要找到一个不太理解的问题的解决方案。但好消息是,网上都有答案。

5、勤思考

在编写代码的时候,你需要思考:“如何才能用最好的方式编写这段代码?”

这方面我做的并不好,所以经常写出水平很次的解决方案。通常,一旦脑海中涌现某个解决方案,我就会立即动手写出来。大多数时候,问题的第一个解决方案并不是最好的。

写代码无需花费太多时间。任何人都可以快速地编写代码,但结果往往很草率。你需要花时间想出一个优秀、稳定的解决方案。

测试驱动可能很无聊,但是它能够极大地推动你勤思考,因为你必须考虑清楚期望的功能以及实现方式。如果你提前做计划,就无法动手写代码了。

当然,凡事都有例外。我并不是说你应该安静地坐下来仔细考虑每一行代码。

然而,勤思考能够为你省却重构和改bug的时间。

6、当心网上的教程

刚开始学习编程时,可以从网上找一些教程,但我认为你应该利用的资源远不止这些教程。

当你按照教程学习编程时,实际上可能什么都学不到。虽然你可能学到了一些知识,但你并没有真正明白自己编写的代码以及这样做的原因。

此外,这些教程还可能会漏掉一些重要的代码。初学者更喜欢直接从教程中复制和粘贴代码,而不会认真思考问题。

一种更好的学习编程的方式是构建自己的项目。找到一小段代码,然后自己编写代码、解决bug、阅读文章和帖子。

最有效的学习方法是东拼西凑出一个能够运行的程序。

7、制表符比空格好

读这篇文章的时候,你肯定在想:“很明显,这个小孩肯定喜欢使用空格。”非也,每个人都应该在编程的时候,使用制表符。

我明白,每台计算机上的制表符可能不尽相同。但是,你只需要轻轻敲下制表符就好,而无需哐当哐当地敲打空格键。努力成为喜欢制表符的人吧!

感谢你阅读本文中介绍的简单而重要的经验教训。如果你有不同的看法,请在下方留言。

原文:https://www.freecodecamp.org/news/7-important-lessons-about-programming-that-ive-learned-at-17-516ae619686/
作者:Alec Jones,译:弯月,责编:屠敏
译文:CSDN(ID:CSDNnews)


   转载请注明


《12 岁开始学编程,17 岁总结了 7 个重要教训!》 by chen guoji under cc_by_name licensed
 上一篇
想成为顶尖 Java 程序员?先过了下面这些问题! 想成为顶尖 Java 程序员?先过了下面这些问题!
一、数据结构与算法基础1、说一下几种常见的排序算法和分别的复杂度。 2、用Java写一个冒泡排序算法 3、描述一下链式存储结构。 4、如何遍历一棵二叉树? 5、倒排一个LinkedList。 6、用Java写一个递归遍历目录下面的所有文件。
2019-06-09
下一篇 
七大排序算法精讲,图文+代码,超全! 七大排序算法精讲,图文+代码,超全!
排序的相关概念 排序的分类根据在排序过程中带排序的记录是否全部被放置在内存中,排序分为: 内排序 外排序 1.内排序内排序是在排序整个过程中,带排序的所有记录全部放置在内存中。 影响内排序的主要因素 时间性能。 (主要
2019-06-01
  目录