用户:科普喵查看:0 回复:6 评论:0 创建时间:2018-07-05T16:16:43
接着上周所说的,我们继续看看还有那些障碍需要我们来攻克吧~
5.你不知道如何处理一个任务
你不知道从哪里开始?你可能会随机地去尝试,或者从其他地方复制一些你自己也不明白的代码。但是,这是没有帮助的。即使你复制来的代码有效也没用。因为当你今后再一次碰到类似的任务,你依然不能解决。
如果你想妥善解决任务,那么首先你得知道你为什么卡壳。下面是一些可能的原因:
(1)没有很好地掌握这些理论知识:
如果是上述情况,那么可以去复习理论知识,如果依然摸不着头脑,也可以去找人寻求帮助。
(2)任务太大了,那就分解为一个个小任务。
(3)也有可能是因为你读得太快,忽略了一些你以为熟悉其实似是而非的概念,所以无法理解任务要求。
6.你知道如何解决任务,但解决方案不管用
这是编程中最常见的情况,哪怕是那些经验丰富的资深程序员也是如此。你的解决方案之所以不起作用最大的可能是你的代码中存在着bug。
如何修复?方法是调试代码。这也是作为一个程序员需要学习的最重要的技能之一。这不是可以随便凑合的事,也不是玩幸运猜猜猜游戏。如何寻找bug是有具体步骤的。而且很多书中都有教这个技能。
不幸的是,这是很多新手程序员失去动力选择放弃的难关。很少有课程会说明调试的重要性。如果你不知道如何正确地调试,那么它就是不可战胜无法攻克的难关。
很多人担心会花太多时间用于调试代码。这是正常的,在你第一年的编程规划中这是不可避免的。
甚至,你还得学着去喜欢调试。不妨将此看成是一个机会,一个修复错误提高编程能力的机会。当你解决了一个bug,可以问问自己这个问题:“我为什么会犯这种错误?以后我该如何预防再犯?”
还有一个好主意是将找到的bug写成编程日记,方便你总结和学习。
7.不知道如何接受帮助
当我们在学习代码,或调试代码时,可以咨询很多材料:书籍、课程、教程、导师,开发者社区等等。
在你学习这些资源时最常见的问题是,你并没有完全了解幕后发生了什么事情,也不知道概念是如何融入到更大的蓝图中的。
例如:你在某个问题上花了10小时,最后终于有人提供一个解决方案,你往往会采取“拿来主义”——采纳解决方案之后就直接跳到一个任务中去。千万别这样做!相反:
这也是在StackOverflow和谷歌上搜答案的一大缺点:你只知道解决方案,不知道幕后的思考过程。
8.不去应用你学到的理论
这篇文章也是理论知识,除非你能够学以致用,否则它是不会发挥一丝一毫作用的——多多应用,直到它变成潜意思的例行程序。
编程其实就是通过形成良好的习惯来帮助你解决各种问题的过程。
译文链接:http://www.codeceo.com/article/8-barriers-learn-coding.html
英文原文:8 barriers to overcome when learning to code
传送门:【编程101】学习编程需要攻克的8个障碍(上)