×

[译] 当你开始学习编程时,你最希望知道什么?

96
muhlenXi
2017.08.09 15:16* 字数 1789

原文来自 Quora:What are some things you wish you knew when you started programming?

我希望知道许多东西,但我想起来的只有27件事。

全面披露:我把最重要的事情放在第 14-26 条上(综上所述),因为我想让你阅读完整的答案。我想你会喜欢的。

1、通过实践去学习。

提高编程技能的唯一方式就是去动手实践,不要让一个卡壳的分析阻挡了你的开始。

2、编程不像应试学习。

记忆的东西并不重要。

3、拷贝是完全可以接受的。

我使用 Google 来解决我的大部分问题,大多数的程序员也是如此。

4、不去检查,让问题一直堆积是糟糕的策略。

我曾经对我的代码进行了无线的修改,并且期盼能立即工作。这种方法的问题在于你将一个问题叠加到另一个问题之上了,这样,找出错误出现的地方将会变得很困难。

5、自学真的很艰难。

对于大多数人,与有抱负的程序员合作和讨论代码是不错的学习方式。

6、释放你的情绪。

在你成为程序员的旅途中,你将会遇到许多错误信息。你要明白,搞砸了是不可或缺的一部分,在错误中你将会成长。

7、你不需要有 5 台显示器。

可能与好莱坞告诉你的相反,作为一个程序员,你并不需要一个疯狂的显示器来调试。你现在拥有的电脑足以开始编程。不要浪费你的钱。

8、大写字母和小写字母之间的差异很大。

在相似的符号中发现微小的差异,并使之成为习惯,花了我不少时间,直到你习惯了,否则你会感到格外沮丧。

9、试图去理解一切是感到的失落的一个原因。

在一开始,我想要找出所有我遇到的问题的原理。这不是必须的。计算机本来就很复杂,我们要学的还有很多,你不可能去理解每一样东西。这没关系。

10、尽可能的去编写代码。

在学习编程的路上没有捷径。

11、优化代码是编程的一部分。

我过去想要我写的每一行代码必须是完美的。改进代码是正常的,你不是在写一本出版后就不能更改的书。

12、寻求帮助的正确方式。

每个人在某一时刻都需要求助,当你求助的时候,你需要做这4件事:

  • 你看到的通信细节
  • 确切说明你认为应该发生什么?
  • 确切说明实际发生了什么?
  • 确切解释为什么结果会不一样?

当你经过这些步骤,你经常会无意发现解决问题的办法,而不是去寻求帮助,这会让你更全面的去考虑问题。

13、你不需要成为一个数学天才。

如果你不是一个数学天才,也不意味着你不能成为一个程序员。

14、总是庆祝小胜利。

用代码去创造东西确实很酷。如果我没有退后一步去欣赏那些我路途中创造的令人敬畏的东西,我永远也不会到达我所处的地方。

15、创客聚会是非常有价值的。

一开始,我很乐意去参加这些让我感到很自在的活动。一旦我做到了,我就意识到像我一样的开发者有很多。

16、避免合并冲突会令人很愉快。

合并冲突让人很恼火。因此当我意识到我可以在队友之前插入一个功能,让他不得不处理这些事情,这让我很兴奋。

17、承认你不知道是可以的。

当你从事你的第一份编程工作时,你可能会倾向于 “假装直到你做到”,不要这样做,没有人指望你马上就知道一切。

18、胜任一份工作完全不必去花费 10000 小时。

现实中,你需要足够好去直到如何自我修正和问题出现时回到正轨,这样花费的时间就远远少于 10000 小时。

19、你会在早上醒来思考代码。

当它发生时,真 TM 酷!

20、犯大错没关系。

我曾经犯了一个错误导致我的公司损失 10000 美元,在这件事中,我学到了我编程事业生涯中最重要的一课。

21、算法就像在电话簿中寻找一个名字。

算法是一种循序渐进的方法。

22、你永远不会觉得自己准备好了全职编程。

冒充综合症是真实的。试着记住,什么都不知道是正常的,最重要的是明白你可以找出你不知道的东西。

23、程序员从不停止学习。

新技术一直不断的出现,所以那些成功的程序员就是那些继续学习并不断提升他们技术的人。

24、让电脑向人类一样思考。

大多数人认为,你需要向电脑一样思考,事实上这正好相反。

25、编程就是使用正确的工具进行工作。

现在有许多开源的库、工具和框架供你使用。因此你需要扩充和开发你的工具包并了解对于遇到的问题,哪些工具是奏效的。

26、在即将发生改变之前放弃是常见的。

学习编程(尤其是在你转行的时候)是一件很辛苦的工作,这需要大量的时间和纪律,但这是可能的。太多的人为了达到目的地做了许多错误的工作。

27、学习编程并不轻松。

这是值得做的事情。

事后看来,我真的很高兴我当初太天真了。知道这么少的回报给了我批判性思考我后来学到的一切的动机。

现在我开始花时间帮助别人通过编程来实现他们的目标。还有什么比这更好呢?

太多的初学程序员担心什么时候才能准备好开始全职编程,所以我写了这个标志意味着你已经准备好跨越了

The Route of iOS Development
Web note ad 1