[译]编码,编码,编码!提高编程技能的唯一途径

247 阅读4分钟

今天是第一篇,来自前美国宇航局工程师,python大神Daniel Roy Greenfeld的博客中的一篇《code,code,code》,旨在帮助新手程序员知道如何才能提高自己的编程技能。

我经常被新手程序员问到,如何才能够让他们的专业编程技能得到锻炼。或者如何能够提高编写软件的能力。

如何提高你的编程能力

这里是我的方法。它不一定完全适用于你,这些方法也不存在任何的先后顺序,它们中的任何一条都可以作为你开始的途径。

  1. 我会大量的编码,从简单的脚本,到自动化的任务,再到尝试去写成熟的项目。不管是工作还是兴趣所致,我失败了很多次,但是在编程的过程中,我学到了很多。
  2. 我不会在各种语言之间来回切换,相反,我会专注于一种语言很多年,并把我的学习重点放在那些工具上。我19年的职业生涯可以归纳为FoxPro,然后是Java,然后是Python。在这些期间,我还学习过JavaScript。当然,我也玩弄过一些其他的语言(Lisp,Haskell,Lua,Perl,ColdFusion,Go),但是仅仅只关注一些方面,有个基本了解。
  3. 我大量编码。是的,这个和#1是重复的
  4. 一旦我掌握了一门语言的基础知识,我就会去寻找每个知识点的最佳实践。然后,我会果断的吸收它们并坚持使用,甚至作为一种教条来规范自己。通常,这就意味着我的代码会更容易阅读,更容易调试,最重要的是,更容易被分享。
  5. 我有没有提到我会大量编码?除非你练习,否则你永远无法做任何事情。这是对于#1的又一次重复
  6. 我克服了害怕提问题的弱点,尽管,大多数时候,我仍然时不时的会害怕。实际上来讲,通过提问你不仅不会显示你的无知,反而会表现出你愿意学习的欲望。另外,学着搞清楚如何去提出问题的这个简单行为可以让你以正确的思考方式去决定你要的答案。
  7. 只要我问了一个问题,不管我是否得到了答案,我又编了一些代码。编码,编码,编码,再一次重复#1
  8. 一旦我掌握了一种语言,我就会找到这个语言的cookbook或是手册作为参考资料。对于技术书籍,我偏爱阅读纸质书(其他领域的我统统都是看电子书)。Cookbook中的方法技巧成为我语言工具的基础。简单易懂的手册提示可以让我更轻便的学习。
  9. 我会将学到的方法技巧和以及参考应用到我的编码中,一次又一次地编码实践,无论是在工作时间或玩耍时间。Practice makes perfect!(译者注:这句是名言,无需翻译:p)。为什么我在不断重复#1
  10. 多年来,我一直使用易上手的且稳定的IDE或文本编辑器。是的,我知道有一些非常强大的工具与强大的命令(Vim,EMACS等),但我不会停止去使用新工具。我的目的是编码,而不是修复桌面工具或神秘的文本编辑器。
  11. 再次反复提及#1,我使用文本编辑器编写代码。编码, 编码, 编码!直到我的手指和手受伤,直到我不得不学会如何处理腕管综合征译者注:总之是一种关于手的病)。编码, 编码, 编码!这就像学习武术,吉他或其他任何东西一样,重复简单的动作可以让你有信心把这些动作组合成更强大的东西,或者学习更复杂的东西。

我希望我做了什么

  • 研究计算机科学。如果我能再做一遍,那将是我学术研究的重点。它不会取代我的列表上的任何东西,我声明的学习方法依旧会保持不变。编码,编码,编码!
  • 我应该有更多的教程当然是没错的。如果没有机会可以像在网上或面对面的教练那样引导你走上正确的道路。那么你可以选择编码,编码,编码!

Practice makes perfect, 对吗?

译者博客:vimiix.com