精通编程技巧需要数千(是,数千)小时。不过,如果您将这些时间很好地度过,您会更快到达那里(并在旅途中获得更多乐趣)。这里有一些想法供您考虑,也许可以尝试成为一名编码员。
解决实际问题
理论很无聊。通常,理论问题也是如此。如果您只是学习如何编写代码来赚钱,那么我不确定这将如何解决。但是,如果您对构建事物有实际的热情,请构建它们。。因此,您可能应该问自己的第一个问题是“ 我为什么要学习这个东西?"。答案是“ 做某事",好吧,去做那件事。好消息是,第一步不需要您知道如何编写任何代码:您只需要写下(最好是草绘一下)那东西的样子即可。您缺少什么应用程序?什么工具不存在,但您确实需要?
这种方法(又称“抓痒")的好处是您的项目不必太繁琐。您可以从很小的东西开始,只需创建一个简单的实用程序即可。但是无论它是什么,您都应该关心它。我用Ruby写的第一件事是我多年来一直使用的个人项目,并且从未发布过。尽管如此,我还是为它的成功感到骄傲,而我对Ruby(不是Rails)的很多了解都来自该项目。
从高级信息入手
是的,我在这里挑了一本书。不,O’Reilly没有支付我任何费用(或PCPC.me)。就是那样我几乎从来没有读过有关编程的书,但是“代码简单性"使我一直着迷。这是一本关于编程艺术的书,几乎没有代码。您无需了解任何编程语言即可理解。它涵盖了诸如编写任何程序(帮助人们!)的基本原因,何时向应用程序中引入新功能,何时优化代码(以及过早的优化)以及许多其他好东西之类的东西。 p>
一旦您读完了这本书(或另一本类似的书,如果找到了),您将可以更好地判断您的未来学习。
谨慎选择您的技术< /
您是否应该使用直接ANSI C编写第一个项目的代码?除非您有非常具体的原因,否则答案是“可能不是"。优秀的编码人员知道如何编码,而不是特定的语言-他们可以在短时间内学习给定项目所需的任何语言。但这并不是那么容易,因为这不是您必须掌握的语言,而是通用的编程概念(程序逻辑和流控制,变量类型和作用域,对象以及所有这些好东西)。因此,您绝对应该花一些时间考虑要使用哪种语言或技术进行编码。
这是在选择项目后完成的,因为一旦您知道要做什么,就会受到限制。缩小到可能的技术的更小范围例如,您不会在Ruby on Rails中编写本机iPhone应用程序。但是,如果您正在为Web编码,则可以使用大约成千上万种不同的语言,每种语言都有许多不同的框架。 PHP,Python,Ruby,Go等等。
花时间研究每种替代方案–它拥有什么样的社区?获得支持有多容易?是否有好的免费开发工具? James在另一篇文章中介绍了该主题,该文章名为《软件开发应该学习哪种编程语言》?
不要花很多时间学习大量数据
我曾经花了几周的时间观看有关PHP的视频课程。我认为这是30个小时的视频或类似的疯狂内容。我现在知道PHP吗?哎呀,不。我的意思是,我可以阅读一些代码,但是我说那几个小时是在浪费时间。尝试不进行编码就按顺序填充这么多知识是行不通的。对我来说,精心编写一个预制的示例项目几乎是一件坏事,因为它错过了学习的很大一部分。当我尝试做自己关心的事情(见上文)并随机遇到问题时,我会尽力学习。解决您所感到的问题,并且学到了一些新知识。盯着屏幕看30个小时……好吧。
花时间设置环境
就像许多编程语言一样,那里有很多开发环境对于每种语言。有人使用像Vim这样的文本编辑器(我在“给Vim文本编辑器一个机会的7大理由中推荐")。选择最适合您的编辑器是非常个人的过程,而这仅仅是开始。接下来,您将不得不使用键盘快捷键,配色方案,插件等来对其进行自定义。
这只是工作的一小部分–设置开发环境需要安装所需的语言可以使用许多代码库,一个版本控制系统(例如,Git,James在此进行了解释),以及更多其他功能。换句话说,在设置环境之前,您需要花费数小时的工作。你知道吗?没关系。
只需为自己喝一杯咖啡或十杯咖啡,然后进行检查即可。玩得开心。学会了解您的工具,就像任何工匠都知道他的工具一样。了解键盘快捷键。使突出显示恰到好处。您对工具的使用越自在,就越能关注代码。所以,这是我不会跳过的领域。
别急着自己-截止日期是你的敌人
无论做什么,记住-你在这里学习。您没有截止日期。当出现诱惑时,请在代码中使用肮脏的技巧以使其正常工作,请不要!花时间并投入精力以找出正确的方法。一个草率的第一个项目总比没有一个项目要好,但是您会从自己精心设计和构建的项目的每一步中学到很多东西。
要有耐心,为细节付出很多(涉及到编码技术和通过代码完成工作的方法。
提出问题
There’s the fantastic Stack Overflow which you can see in the screenshot above. There are many other language-specific forums online, but no matter the venue you pick, don’t be afraid to ask questions. If people aren’t nice, figure out what you did wrong and learn to ask better questions (a subject for an article in itself, really).
如果没有,请寻找另一个社区。但是无论如何,请提出您的问题,然后听听答案。感谢人们花了很多时间来帮助您,这也是一个好主意。
使用间隔重复来保留信息
最后的提示是一个简短的提示–阅读有关Janki方法。这是一种建立所有最新编程知识的绝妙方法,可以无限期地将其保留,而不是保存在您的计算机中,而是保存在您需要的大脑中。认真地读那篇文章。
最终思想
学习是非常个人的事情,因此也许并非所有这些技巧都能为您解决。再说一遍,也许您还想分享一些其他尝试过的真实的东西。
对我来说最重要的是,我想知道您是否要使用其中的任何一个。这些技巧有助于您成为一名程序员。你会?在下面让我知道。
标签: