【导读】这个问题来源 Quora,以下的解答是由大型公司的创始人和首席导师Ken Mazaika回答,目前已经有12.4k的Upvote(值得阅读)。
我希望我知道一大箩筐的东西,但只有这些事在脑海中想到。
1、通过实践学习。编程的唯一方法是实际编程。不要让一个分析困难就阻止你开始。
2、编程不是为考试而学习。记忆其实没你想象的重要。
3、谷歌是完全可以接受的。用谷歌来解决自己的大部分问题,大多数程序员也是如此做。查阅别人的代码,然后合理的运用,从而解决问题。
4、让问题堆积如山而不检查是一个糟糕的策略。很多人对代码进行无尽的修改,希望它能立即运行。这种无止尽修改的方法错误在于它在另一个问题上又叠加了一个问题,这样很难判断到底问题的根源是什么。
5、封闭学习真的很难。不要一味的埋头学习,谈论代码和与其他有抱负的开发人员合作是一个更好的方法,为大多数人学习。
6、及时释放你的情绪。你将在成为程序员的旅途中看到很多错误信息。当错误信息的形成变成学习过程的一个不可分割的一部分,你需要做的是确定错误根源,不要因此影响心情,以保证自己的成长。
7、你不需要外部监视器。与电影中演员告诉你的相反,作为程序员不需要一个疯狂的外部监视器。现在拥有的计算机可能非常好用,可以开始编程。不要浪费你的钱。
8、大写字母和小写字母有很大的区别。很多人会花费一长段时间才习惯于注意到类似的符号之间的细微差别。
9、试图了解一切才是失去的原因。在开始的时候,新手们都试着去追寻遇到的每一个问题的原因。这不是必要的,计算机是如此的复杂,有这么多要学习的东西,你永远不会明白一切。告诉自己没必要去了解一切。
10、尽可能多的和有经验的人结对编程。没有比这更高效的方法来学习如何编码。
11、改变坏代码是学习过程的一部分。曾经有许多人认为写的每一段代码都需要完美才能流畅运行,但改进代码才是正常的程序员生活。记住,你不是在写一本下笔就不能改的书。
12、找一个正确的方法来寻求帮助。每个人都需要在某一时刻寻求帮助。当你这样做的时候,一定要做这4件事:
(1)强化细节。
(2)解释你认为应该发生的事情。
(3)解释到底发生了什么。
(4)解释为什么你认为它应该是不同的工作。
当你经历这个过程的时候,你经常会遇到一个解决方案而不是寻求帮助。它让你以整体的方式思考问题。
13、你不需要成为一个数学天才。如果你不是一个“数学人”,那并不意味着你不能成为一个程序员。
14、承认你不知道的事没关系。没有比拒绝承认自己不知道这件事更浪费时间了。
15、找到一份工作不需要很多时间。在现实中,你需要做到足够好,知道如何自我纠正和回到正轨时出现的问题。这样让你变得完美会花比找工作少的多的时间。
16、犯大错误是可以的,不要害怕。我曾经犯了一个错误,花了我公司10000美元。在这个过程中,我学到了我的编程生涯中最重要的一课。
17、程序员从不停止学习。新技术会不断地问世,所以成功的程序员是那些继续学习和发展他们新技术的人。
18、让计算机像人一样思考。太多人的脑海中的印象是程序员需要像电脑一样思考,其实恰恰相反。你需要做的是负责让计算机像人一样去思考。
19、成为你所用的开发工具的重度用户。如果长期在某个开发环境下有相当比例的开发工作,那你应该去掌握使用它的细节。
20、了解过早优化和必要的“炫技式”优化的区别。老手们清楚在什么时候需要写一些看上去没那么好懂,但会让程序运行更快的代码。