学习编程最好克服这8个难关
发表时间:2020-04-30 16:44文章来源:技昂编程网
作为C/C+软件开发的老程序员,我看到过很多初学者的程序员都热情地投入学习,但总是到处碰壁。大多数学习者也遇到了同样的障碍,但一旦克服了这些障碍,效益就会立即产生:
(1)更享受学习经历
(2)进步更快
(3)碰到难题更执着,不轻言放弃
(4)写代码时更独立
那么,这些障碍是什么呢?。我该怎么克服呢?我们一起往下看:
学习编程时需要克服的8个难关,如果不把握的话很可能会失败
1、不知道从什么技术入手
很多人会问:“我应该先学什么编程语言?”提出这个问题是因为他们不知道为什么学习代码。
如果你决定完成一个特定的项目,从什么语言开始这个问题就会变得容易
如果你想构建iOSapp,那么你需要学习ObjectiveC或Swift。
如果你想构建Androidapp,那么你需要学习Java。
如果你想构建Webapp,那么你需要学习JavaScript。
事实上,现在可以使用JavaScript创建任何类型的项目,包括简单的web、移动app和高级硬件项目。它在大多数行业都有:音乐、游戏、时尚。这种语言非常值得学习。
学习编程需要攻克的8个难关,一旦没有把握好,很可能会失败
如果不知道选择哪种语言,请听听某个程序员的意见。只要你决定构建什么项目,他就可以迅速推荐适合你的技术。
另外,因为知识是共通的,所以不要太拘谨,选择语言的步骤几乎没有风险。
2、不正确的学习动机
在谈到障碍之前,我想强调说明学习动机的重要性。不要只为了编程而学习编程,不要因为听说很酷就来学习编程。
你必须学习编程,因为你想解决问题。你必须学习编程,因为你想要自动化和改善你的生活。你必须学习编程,因为你想要建立应用程序来造福社会。
如果你只是喜欢编程,想把它作为一个职业,你可能会有一种强烈的欲望在你的学习中放弃。这通常发生在事情变得艰难和学习经历变得痛苦时。你会告诉自己,你不喜欢编程,编程不适合你,你生来就没有程序员。
这就是为什么你应该考虑为完成项目设定目标。如果你心里有一个计划,或者你想解决更高层次的问题,那么你可以对自己说这可能不是一个愉快的经历,但我真的想解决这个大问题,所以我必须克服这个障碍。
3、不能学以致用,以及责备自己
在选择了一个好的技术堆栈之后,总是很容易开始学习理论,有许多免费和付费的在线课程。
很快很多学习者就能掌握理论知识,完全自己解释一些代码片段的工作原理。理论只是概念的有限集合。每个人都可以在几天之内记住它,如果她/他真的认为。那么,关键的问题是什么?
对于学习者来说,最大的问题是他们实际应用理论来解决问题编写新的代码。这中间的差距实际上就是技能空白。
比如说游泳。仔细阅读大量的技术文章,后面说明的像专业教练一样。但是,要在实践中运用这些理论,你需要大量的实践、斗争和错误——你一定会吞下大量的水!
然而更糟糕的是你开始责备自己。或者认为你不够聪明,或者你没有天赋。聪明才智无关紧要。你只需要练习技能:
1.选择一个复杂的项目。理想情况下,这项目得能够激发你的兴趣。
2.将任务分为小型和独立的任务。例如,“实现登录页面”是一个很大的任务。解决一个任务不应该超过20行左右的代码。以下技巧有助于成功实现这一目标:
如果你不能解决这个任务,把它分成更小的任务。
一个任务一次不应该使用太多的理论概念。
3.一次专注一项任务,而不是并行解决多任务。不要跳到下一个任务,除非你已经彻底测试了当前任务并确保它是正确的。
如果你不这么做,而且应用程序有问题,那么你不知道你并行处理的多任务有什么问题
4.确保自己在开始任务前知道所有必要的理论知识。有时候,我不知道需要学什么理论。因为这是正常的,所以需要向其他人寻求帮助,例如程序员朋友、领导人、堆栈溢出等社区。
5.最后,你解决了任务。有一个解决任务的过程,你可能会遇到很多问题,你需要做的就是从中吸取教训,这就是以下几点。
4、不吸取解决任务中获得的经验教训
最重要的是,你解决了任务,结果证明非常有效此时,很多人往往就直接开展下一个任务。但如果你这样做,你就会浪费一个学习的好机会。
希望你能够用以下问题来挑战自我,帮助自己成长:
哪些边界情况会导致我的代码失败?即使现在还没有失败,有哪些应用程序状态可能会破坏代码?
我的代码是否足够整洁?对于其他开发人员,甚至他们自己来说,代码是否容易理解和更改?因为稍后您可能需要修复隐藏在此代码中的问题,或根据其他产品规范更改代码。
我的方法是最好的吗?你有其他选择吗?我可以选择使用它吗?各个方案的利弊?这任务是否值得用不同的方式解决?
该模块如何与其他模块相互作用?是否对其他模块产生负面影响?是否容易被其他模块影响?
然而,很多时候,你会进退维谷。
5、你不知道如何处理一个任务
你不知道从哪里开始?你可能会随机尝试,或者复制一些你在其他地方不懂的代码。但是,这是没有帮助的。即使你复制的代码是有效的。因为当你今后再一次碰到类似的任务,你依然不能解决。
如果你想正确地解决这个任务,首先你需要知道你为什么陷入困境。下面是一些可能的原因:
1.没有很好地掌握这些理论知识:
语言语法
系统运作(例如:HTTP请求是理解Web开发的关键)
如果是这样的话,那么可以去复习理论知识,如果还不能触摸头,也可以找人帮忙。
2.任务太大了,那就分解为一个个小任务。
3.也可能是你读得太快,无视你认为熟悉的概念,无法理解任务的要求。
6、你知道如何解决任务,但解决方案不管用
这是编程中最常见的情况,即使是经验丰富的老手程序员也是如此。你的解决方案无法发挥作用的最大原因是,你的代码中可能存在错误。
如何修复?方法是调试代码。这也是作为一个程序员需要学习的最重要的技能之一。这不是合适的事情,也不是幸运的猜测游戏。如何寻找bug是有具体步骤的。而且很多书中都有教这个技能。
遗憾的是,这是很多初学者程序员失去力量而放弃的难关。很少有课程会说明调试的重要性。如果你不知道如何正确调试,它是不可战胜的。
很多人担心会花太多时间用于调试代码。这是正常的,在你编程的第一年是不可避免的。
甚至,你还得学着去喜欢调试。把这当作机会,把它当作修正错误提高编程能力的机会。
买钻戒挑选都要注意哪些事项
做为爱情不可或缺的部分和婚礼主角,钻戒好像是玫瑰的花蕾,没有它,——切断变得不那么好。那你知道钻戒婚戒挑选需要注意事项?现在小编就给大家说说买钻戒都要注意哪些事项吧。
- 上一篇:为什么要学编程
- 下一篇:新手学习前端开发要注意的4个方面
- 学编程应该用什么软件 05-12
- 如何学编程入门基础 05-21
- python能做什么 06-09
- 程序员需要学好什么科目 06-10
- 初学编程应该先学什么语言 07-04
- cnc编程需要什么基础设备 07-11