学习编程最好克服这8个难关


作为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是有具体步骤的。而且很多书中都有教这个技能。

 


遗憾的是,这是很多初学者程序员失去力量而放弃的难关。很少有课程会说明调试的重要性。如果你不知道如何正确调试,它是不可战胜的。

 


很多人担心会花太多时间用于调试代码。这是正常的,在你编程的第一年是不可避免的。

 


甚至,你还得学着去喜欢调试。把这当作机会,把它当作修正错误提高编程能力的机会。

 


买钻戒挑选都要注意哪些事项
做为爱情不可或缺的部分和婚礼主角,钻戒好像是玫瑰的花蕾,没有它,——切断变得不那么好。那你知道钻戒婚戒挑选需要注意事项?现在小编就给大家说说买钻戒都要注意哪些事项吧。

  • 上一篇文章:
  • 下一篇文章: 没有了