提高编程能力的诀窍(译)

原文:http://blog.thefirehoseproject.com/posts/learn-to-code-and-be-self-reliant/

当我们学习编程的时候,会碰到一个时间点,在这个时间点一切都会发生变化。在FireHose,我们称之为编程的拐点。经过了这个时期,你作为程序员的开发工作会发生显著的变化。迈向这个拐点的道路,就是让自己在编程上能自给自足的过程,也就是你不再需要任何手把手的帮助。这可能是一个让人沮丧的过程,但是你一旦迈过这个门槛,会让你感觉充满力量。

image.png

在FireHose,我们的目标不仅仅是教你Ruby、如何去构建Web应用或者如何写测试用例,尽管我们传授了很多这样的技巧,但是我们的首要目标是让学生能快速通过编程拐点,从而让他们获得解决任何所遇到的问题的能力。 我们相信,能够独立解决问题的能力是无价的。学习并获取这种能力,比简单地学习如何构建一些app,能让你走得更远。

入门阶段(3-8周认真地编程)

当你开始学习编程时,有很多知识点是你不知道的。这些信息被称为特殊领域知识。例如:知道如何用Ruby写一个循环,或者如何用Ruby on Rails从数据库中提取数据。领域知识对某个特定的编程环境来说,包含了独特的协议。

成为一个自给自足编程者的第一步就是要学习如何去完成特定的任务。一旦你能掌握某些任务,把不同步骤拼接起来的大致框架就会显现出来了。经过这个阶段,你会开始发现一些规律。最终,那些刚开始看起来很困扰并且陌生的东西,也变得驾轻就熟了。

对于刚起步的学生,最重要的技能是要注重细节

当你通读官方文档或者入门手册的时候,一定要密切关注细节。即便是最细小的拼写错误都会产生错误信息或者bug。查找错误信息在开始阶段是非常让人沮丧的过程。

Debugging 错误信息是非常重要的。 事实上是,错误信息是编程的一部分,这在没有经验和非常有经验的开发人员眼里都一样。唯一不同的事,你在处理错误信息上越有经验,在修复错误上花的时间会越少。原因如下:

  • 随着时间的积累,你会掌握如何阅读错误日志,并且迅速地提取问题相关细节。你第一次看见错误日志的时候,会花费一些时间去找到它真正的含义。但是当你看了几百次的错误日志后(而且你确实会看几百次!),你就能精确地定位到问题的所在,并且找到修复问题的相关细节。
  • 你应该从每一个你解决过的错误信息中学习。不要仅仅修复错误就完了,要理解修复的代码为什么会出错。通过学习每一个犯过的错误,下次你遇到同样的错误时,你就会更快地修复错误。
  • 最初,你可能会对每一个遇到的错误都需要帮助。过一段时间,通过仔细检查自己的代码,并且聪明地搜索google,就不会那么频繁地需要帮助了。

在入门阶段,你应该遵循这些指导。在开始阶段,你会发现去遵循这些指导会有挑战性,并且错误信息会时常发生。过一段时间,你会具备debug错误的能力,并且对细节
更加注意,然后你就会进步地更快。一旦你圆满完成入门阶段,你会发现自己能够以更快的节奏写代码了。

在这个时候,有些人就会感到满足了,就像他们准备好抛弃训练就开始在缺乏系统性指引下做事情,他们会很开心地去挖掘更深的问题。另一些学生会找到更多入门指引,为了得到"全面的了解",去获取更多的特殊领域知识。不幸的是,入门指引带不了他们多远,真正的信心在入门指引里面是找不到的。真正的自信是来自于跟没有头绪的困难做斗争,并且靠自己的力量去解决问题。

你可能感兴趣的:(提高编程能力的诀窍(译))