📜  学习编码时需要克服的 5 个障碍

📅  最后修改于: 2021-10-22 03:27:54             🧑  作者: Mango

如果您最近开始学习编码,那么有一个问题要问您。 ..

您进入编程领域的原因是什么?……您为什么决定自学编程并在计算机科学领域从事职业?

您可能对某些软件或应用程序着迷。您可能已经意识到软件如何彻底改变我们今天的生活方式,或者您可能已经从一些伟大的程序员对社会的贡献中得到启发。不管是什么原因,你从某个地方获得灵感,并决定进入计算机科学领域,自学编码并构建一些可以让数百万人的生活更轻松的软件。

学习编码时克服的 5 个障碍

大多数学生都有一个梦想来构建他们的应用程序或软件,这促使他们学习编码。带着满满的热情,他们也开始学习编程,拿起一些编程语言,但在大多数情况下,学生们会因为在学习阶段遇到的一些困难而感到沮丧并放弃编码。他们在编码中与一些障碍作斗争,这些障碍慢慢地扼杀了学生对编程的热情。

我们知道学习编码很困难,作为初学者,您面临很多挑战。但是,如果您学会克服这些障碍,就会从中获得很多好处。你会成为一个更独立的编码员,你进步得更快,你更享受学习体验,而且在未来,当你遇到困难时,你不会轻易放弃编码。在这篇博客中,我们将讨论大多数学习者面临的一些障碍,我们将讨论一些克服障碍的技巧……

1. 你不知道学习编码的原因

很多人开始学习编程并不是因为他们对这个领域非常感兴趣,而是因为他们从某个地方听说过它的收入很高,而且编程是一个很酷的职业选择。如果你也有这样的心态,你正在学习编程,因为这些原因,那么它不会帮助你长远来看,你会学习旅途中挣扎了很多 编码。你不需要为了学习而学习编码。在你决定学习编码之前,问问自己……为什么要学习编码?我的最终目标是什么想用它做什么?如果你心中有一个强有力的理由,那么你很可能会克服所有的障碍 

编程是许多程序员的生活,他们这样做是因为他们喜欢编程,他们想知道幕后的事情是如何运作的,并且他们试图实现他们的想法(或试图改进别人的想法)。如果您也是其中一个总是对任何应用程序的技术细节感到好奇并且想知道事情是如何运作的,那么这是一个积极的迹象,表明您对编码非常感兴趣,它的重要性不仅仅是您的职业选择。

如果你想学习编码,你需要找到一个强有力的理由和动机。如果您喜欢解决现实世界中的问题,喜欢将事情自动化,并且喜欢构建一些应用程序来帮助人们,那么在整个学习过程中编程都不会吓到您。你不会放弃它,你会享受随之而来的所有挑战。但是,如果您学习编码只是因为您只是想从中获得一份职业,那么您很可能会在此过程中放弃在某些时候,您可能还会对自己说“不再喜欢编程了,我也不是为了成为程序员而生的

2. 对开始技术的困惑

我需要先学习哪种语言或框架? ”这是初学者开始学习编码时最常见和最容易混淆的问题之一。但是你有没有问过自己,为什么你对选择一种特定的技术或语言感到困惑?答案是……你不知道为什么要学习编码(是的!我们说的是第一点。)

当你心中有一个特定的目标或特定的项目时,你最终会知道哪些语言或框架适合完成你的工作。您知道需要学习哪些语言、工具或库才能完成工作。例如,如果你想构建一个iOS 应用程序,你需要学习 Objective-C 或 Swift,对于 android 应用程序JavaKotlin ,对于 Web 应用程序JavaScriptDjango 。您也可以求助于有经验的 程序员并要求推荐。请记住,所有编程语言的逻辑总是相同的,因此很容易用一种语言实现想法,然后将其转移到另一种语言。

3.你无法自己应用你的理论知识

你设定了一个真正的目标或一个具体的 在你的脑海中建立项目,你也知道你需要学习哪种语言或技术,你也找到了大量的资源来学习它,你开始学习所有的理论知识和实际实现。这些资源对你理解这个概念有很大帮助,而且很可能如果有人问某个代码是如何工作的,你也会很好地解释它。当您需要为特定功能编写新代码或解决某个问题时,就会出现主要问题。在那里你被卡住了,你不知道如何应用你的理论知识来解决这个问题。你的大脑没有解决特定问题的逻辑

这是一个技能差距,要克服这个问题,您需要进行大量练习。考虑打网球的例子。玩这个游戏的规则和技巧很容易阅读,你可能会很好地向某人解释如何像专业人士一样打网球。但是当谈到使用这些信息实际上意味着在地面上玩它时,你开始在那里挣扎,你也开始责备自己。类似的事情发生在编程中,对任何处于学习阶段的程序员来说,责备自己或自我怀疑是最糟糕的经历之一。他们开始怀疑自己,并开始认为自己不够聪明,无法编写代码。阅读下面给出的提示以处理编码中的这个问题……

  1. 开始处理一些让您兴奋的复杂项目,并将您的项目分成更小的块。当您开始自己实现小功能时,实现逻辑会变得更容易。尽管如此,如果您不明白逻辑,请检查您的功能如何与应用程序的其他部分连接,以及如何将功能再次分解为更小的块。通过这种方式,您将能够获得问题的解决方案。
  2. 专注于一次解决一项任务,并尝试在 20-25 行代码内为您的任务编写代码。确保在当前任务未完成之前或除非当前任务未完成,否则不要切换到另一任务。这很重要,因为以后如果您的应用程序没有按照预期的方式运行,那么将很难找到问题的根本原因。因此,与其并行做多件事,不如专注于一次解决一个问题。
  3. 在开始处理任何项目或任务之前,请确保您了解与之相关的所有重要理论概念。它节省了大量时间,并且在实际实施过程中,您可以避免在编码中犯下愚蠢的错误。如果您不知道一些概念或理论,请向某人寻求帮助或在某些开发人员社区(例如StackOverflow )上提问。

4. 你不会花时间考虑你的代码的后果

很多程序员在完成第一个任务后立即切换到下一个任务。他们不会花时间考虑代码的后果。您可能已经编写了有效的代码,但我们鼓励您通过下面给出的问题挑战自己……

  1. 您是否考虑过代码中的所有边缘情况如果不是,那么您的代码在某些情况可能会失败。即使 没有失败,是否有任何其他状态或场景可能导致它中断?
  2. 您是否编写了其他开发人员可以理解的干净代码?将来是否容易理解容易为他人(甚至为自己)改变?请记住,你负责你的代码的质量和W riting干净的代码是一样重要的应用程序中实现功能。没有人喜欢处理一些可怕而凌乱的代码。从链接7 Tips To Write Clean And Better Code 在 2020 中阅读有关编写干净代码的一些提示
  3. 您是否编写了在应用程序中实现该功能的最佳方法?您可以编写任何其他方法或方法来解决相同的问题吗?每种方法的优缺点是什么?哪一种更有效率?就时间和复杂性而言,以不同方式解决同一问题是否有益 
  4. 一个模块如何应用程序中其他模块连接?它如何影响应用程序的其他部分?它会以不好的方式影响应用程序的任何部分吗?它可以轻松地被其他模块使用吗?

在您切换到另一项任务之前,上述所有问题都非常重要。这将帮助您克服另一个障碍,即代码的不良后果。

5. 你不知道如何调试你的代码

很多时候在编程中你知道解决方案,但由于某种原因它不起作用。这不仅仅是初学者的问题,也是有经验的开发人员的问题。解决方案不起作用的主要原因很可能是您的代码中存在错误。有经验的开发人员可以很容易地发现错误,因为他们具有出色的调试技巧。但是初学者经常陷入困境,因为当解决方案不起作用时,他们不知道在哪里查看他们的代码。

调试是编程中最重要的技能之一。您无法随机或通过猜测代码中的某处来发现错误。您需要遵循一些特定的模式,并需要采取一些步骤来查找和修复代码中的错误。大多数学习者在他们的解决方案不起作用时感到沮丧,他们发现自己处于无法修复错误的境地。在这个阶段,他们失去动力并放弃编码。大多数时候,我们找到了学习编码的最佳资源,但我们没有获得学习调试技能的最佳资源,而调试技能也是编程中最重要的技能之一。阅读文章调试:获得更好的技巧以了解一些调试技巧技巧。

如果你认为学习这项技能是浪费时间,那你就错了。这项技能提高了您的编程能力,并使您成为更好的程序员。因此,每当您遇到问题时,请尝试从不同的资源中找到解决方案。通过练习,您将开始识别修复代码中错误的模式。