花别人一半时间学好编程!聪明人是怎么做到的?

大多数学习者同样碰到过相同的障碍 , 但是 , 一旦克服了这些壁垒 , 那么好处立马就来:
更享受学习经历进步
更快碰到难题更执着 , 不轻言放弃
写代码时更独立
那么 , 这些障碍究竟是什么呢 , 我们又该如何攻克它们?

花别人一半时间学好编程!聪明人是怎么做到的?
文章图片
1、目的不明确
在谈及壁垒之前 , 我想先着重说明学习动机的重要性 。 不要只是为了编程而学编程 , 也不要因为听说它很酷 , 很划得来就来学编程 。
你得因为要解决问题而学习编程 , 你得因为想要自动化和改善生活而学习编程 , 你得因为想要构建应用程序以造福社会来学习编程 。
如果你只是喜欢编程 , 并希望以此作为职业的话 , 那么在之后的学习过程中 , 你可能会有一种强烈的冲动想要放弃 。 这通常发生在事情变得艰难 , 学习体验变得痛苦的情况下 。 这时你会告诉自己 , 你不喜欢编程了 , 编程操作不适合你 , 觉得自己天生就成不了程序员 。
因此 , 您应该考虑为完成项目设定目标 。 如果您正在考虑一个项目 , 或者想解决一个更高的问题 , 您可以对自己说:“目前这可能不是一种令人愉快的体验 , 但是我真的想解决这个更大的问题 , 所以我将继续推动自己并克服这一障碍 。 ”

花别人一半时间学好编程!聪明人是怎么做到的?
文章图片
2、纠结学习什么
很多人问:“我应该首先学习哪种编程语言?” 。 之所以存在此问题 , 是因为他们不知道为什么要学习编码 。
一旦确定了要从事的项目 , 就很容易弄清楚以哪种编程语言开始:
如果要构建iOS应用 , 请使用ObjectiveC或Swift 。
如果要构建Android应用程序 , 请使用Java或Kotlin 。
花别人一半时间学好编程!聪明人是怎么做到的?】如果要构建Web应用程序 , 请使用JavaScript 。
如今 , 您实际上可以使用JavaScript来构建任何类型的项目 , 从简单的Web和移动应用程序到高级硬件项目 。 人们在大多数行业中使用它 , 例如:音乐 , 医疗 , 游戏 , 时尚 。
如果仍然不确定要选择哪种语言 , 甚至可以向程序员寻求建议 。 一旦知道了要构建的项目 , 程序员就可以轻松推荐一种技术供您使用 。
还请记住 , 语言是一通百通的 , 你可以轻松从一门语言转移到其他语言 。

花别人一半时间学好编程!聪明人是怎么做到的?
文章图片
3、不去思考地编码
最好的情况是您解决了任务并且工作正常 。 然后人们通常会开始处理下一个任务 。 如果这样做 , 您将浪费学习的机会 。
我鼓励您用以下问题挑战自己:
我的代码可能会失败吗?即使现在没有失败 , 是否有任何应用程序状态可能导致其中断?
我的代码够干净吗?对于其他开发人员 , 甚至对我自己 , 是否容易理解和更改?将来 , 您可能需要解决此代码中的隐藏问题 , 或根据其他产品规格对其进行更改 。
我的方法是最好的方法吗?我还可以使用其他替代方法?每个替代方案的优缺点是什么?值得以其他方式解决任务吗?
该模块如何与其他模块交互?它会以一种不好的方式影响他们中的任何一个吗?可以容易地被其他模块使用吗?

花别人一半时间学好编程!聪明人是怎么做到的?
文章图片
4、你不知道如何完成任务
你不知道从哪里开始吗?您可能会想尝试随机的东西 , 或者从您不理解的其他地方复制代码 。 但这没有帮助 。 即使您复制有效的代码也不行 。 因为将来您将要执行类似的任务时 , 您也将无法解决该任务 。
如果要正确解决任务 , 则必须首先确定为什么会卡住 。 以下是一些可能的原因:
您不太了解该理论 。 语言语法库或API的工作方式 , 或特定方法或类的工作方式编程范例(例如:异步编程)系统的工作方式(例如:HTTP请求是Web开发中必须了解的关键内容)在这种情况下 , 只要再读一遍该理论 , 或者在仍然没有意义的情况下找人向您解释 。
任务太大 , 需要分解成较小的任务 。 您不明白任务在问什么 , 因为您读得太快并且忽略了看起来很熟悉但实际上并不熟悉的概念 。
5、不知道如何调试
这是编程中最常见的问题 。 即使对于具有多年经验的程序员也是如此 。 解决方案不起作用的原因很可能是代码中的错误 。
您如何解决?通过调试代码 。 这是您作为程序员可以学习的最重要的技能之一 。 这不是您随便做的事情 , 也不是靠幸运的猜测做的事情 。 您可以采取特定的步骤来查找代码中的错误 。 有整本书专门教这个技能 。