我常常会被被新手程序员问到,他们如何才能够“专业地""使用他们的编码技能。或者他们如何才能在编写软件方面做得更好。

如何提高你的编码技巧

接下来我所阐述的是我的方法,但它可能不是你最适合的方法。这一系列方法也没有任何特定顺序,所有这些方法都适用于你开始采用这些方法的那一刻。

  1. 我写代码,并且写了很多。为了工作和娱乐,我从起初码一些愚蠢的小脚本到自动化任务,再到尝试完整的项目。期间我也曾失败了很多次,但一路上学到了很多。

  2. 我没有从一门语言跳到另一门语言。相反,我多年来一直呆在一些地方,专注于学习这些工具。我二十多年的职业生涯可以概括为FoxPro,然后是Java,然后是Python。在这期间我也拾起了JavaScript的一些知识。当然,我已经完成了一些事情(Lisp,Haskell,Lua,Perl,ColdFusion,Go),但是得利于专注于一小组工具,我摆脱了平庸。

  3. 我写了很多代码。是的,这是#1的重复。

  4. 一旦掌握了语言的基础知识,我就会为每个语言查找最佳实践。然后我虔诚地坚持了他们,甚至对此也是教条主义者。通常,这意味着我的代码更容易阅读。更容易调试。最重要的是,更容易分享。

  5. 我已经提过了我写了很多代码吗?除非你练习,否则你永远不会擅长任何事情。 #1的另一个重复。

  6. 我克服了提问的恐惧/骄傲。好吧,大多数情况下,我仍然时不时害怕/骄傲。老实说,通过提问你没有表现出你不知道的问题,你表明你愿意学习。此外,弄清楚如何提出问题的简单行为可以让您以正确的心态来确定自己的答案。

  7. 当我问一个问题时,无论我是否得到答案,我都会编写更多内容。代码,代码,代码!又是#1的重复

  8. 一旦我掌握了语言,我就会在上面查找操作手册(cookbooks)或口袋性的指南书(pocket references)。我更喜欢纸质版的科技类书籍(我读的其他类别的书籍都是电子版)。操作指南书中的所提及的高级知识成为我工具包的基础。口袋参考中简洁易懂的提醒意味着更少的认知获取。

  9. 我掌握了那些从指南书和参考文献中的技巧与方法,并利用它们编写代码。我一次又一次编码。在工作时间或游戏时间。实践变得完美!为什么我要继续重复#1?

  10. 多年来,我一直在使用最容易上手且稳定IDE 或是文本编辑器。诚然,我知道存在很多强大的工具,可以使用一些出神入化的命令(如Vim,EMACS等)。但我不想停止我正在做的工作来学习一些新的工具。我想编码,而不是修补桌面IDE或神秘的文本编辑器。

  11. 再次,回到#1,我使用的是文本编辑器编写代码。码,码,码不停!直到我的手受到损伤,直到我不得不学习如何处理腕管综合症。代码,代码,代码!这就像学习武术,吉他或任何东西一样,重复简单的动作可以让你有信心将这些动作组合成更大的东西或者学习更复杂的东西。

 

我希望自己完成的任务

  • 学习计算机科学。如果我能重新做到这一点,那将是我学术研究的重点。它不会替换我列表中的任何内容,我定义的方法保持不变。码,码,码不停!

  • 不得不说,我应该寻找更多的个性化指导。没有什么可以像教练(在线或面对面均可)那样可以引导你走上正确的道路。然后你可以码,码,码不停!

实践是检验真理的唯一标准,这样看起来实践才是学习的完美方法,对吧?

10-05 17:32