17 个初学者编程错误(帮助指南)忘记问为什么

2025-06-07

初学者编程的 17 个错误(帮助指南)

忘记问为什么

从小我就一直想成为一名工程师。灵感来自我叔叔家的那台电脑。我第一眼看到电脑就立刻爱上了它。我最初用电脑玩游戏,我的第一款游戏是《VR警察2》。当时我的鼠标用得非常差,所以小时候没能打通第一个Boss。所以一切就从这里开始了。

替代文本

十几岁的时候,我痴迷于科技。所以我本科选择了计算机科学与工程专业,并努力提高自己的编程水平。刚开始的时候,我经常编程,但有一天,我发现自己并没有取得应有的进步。那么,我到底做错了什么呢?

当然,我做了很多错事!所以我决定写下我的故事,讲述编程新手常犯的错误。我列出了我在编程过程中犯过的17个错误。所以这篇文章会很长。请继续往下读,或者直接看总结部分(滚动到底部)。

嗯,真有趣

陷入教程地狱

我想你从标题就能想象到发生了什么。是的,我被教程迷住了。我每天都看好多教程。

教程将会是这样的
教程将会是这样的

有时候,我感觉自己唯一能做的就是,当一个问题浮现在脑海中时,我会用谷歌搜索,然后看教程就能搞定。我在大学里表现不错,因为在大学里你不需要做出什么了不起的东西。但当我开始工作时,我意识到那些入门级的教程根本不够用,所以这彻底打破了我的信念。我在大学里表现很好,成绩也很棒,我以为自己会编程,但说实话,最近我才意识到,我当时真的很糟糕。但我不知不觉中,我被自己拯救了,怎么做到的呢?因为我的大脑很有创造力,所以当我看教程的时候,我也会尝试做一些通常初学者不会做的新事情。举个例子——

当我在练习寻找1-100之间的素数时,大家都在做同样的练习,并没有进一步深入,老师也从不告诉我们要多做。我做的更多,因为我的大脑想做。当大家都忙着寻找1-100之间的素数时,我尝试了很多方法,比如

  • 获取用户限制
  • 计算素数
  • 寻找大素数
  • 玩转寻找素数的时间

如果你被教程卡住了,那就别看了,直接开始动手做点东西吧。这是我给刚入门的人的建议。不过,我也很想知道,大家能做些什么才能摆脱这种教程的“地狱”?你对编程初学者有什么建议吗?

不重视干净的代码

哦不!我不想多说,因为一想到我以前的代码,我就觉得自己写这些代码太烂了。我刚开始写代码的时候,从来没注意过写得干净。

当我看到我的旧代码时
当我看到我的旧代码时

当时我甚至都不知道整洁代码是什么意思。原因有很多,因为我的大学老师从来没有告诉过我我的代码很乱,我不应该这样写代码。他们从来没有教过 IDE 可以帮助我编写更好的代码。也许我在想他们可以用更好的方式教我们。但我不会介意,因为我会用谷歌,所以我没有搜索整洁代码,因为我从来没想过它那么重要。我在最后一个学期终于开始做一个项目时才明白这一点。我编写了很多网页,一周后我重新打开它们时,心想——天哪!谁写的这些代码?!还有一件事我忘了说,我看的编码教程中也写了一些糟糕的代码。我学会了编写整洁代码的重要性,并在我最终从 Udemy 上了一些课程后正确地学习了编码,因为那里的老师很棒,他们对此进行了很多解释。我对初学者的建议是,在你开始的时候就学习它,因为它和学习编码一样重要。因为如果你只是练习糟糕的代码,那么在你意识到之前,它就会变成你的习惯。对于那些已经知道如何编写干净代码的人,你对初学者有什么建议吗?

试图记住一切

说实话,我上大学的时候,觉得只要记住一些东西就能做得很好,因为老师会针对一些具体的东西提问。所以我记住了一些我没完全理解的代码。但这真的很糟糕。因为一旦你开始记住代码,你现在或将来肯定会失败。没有人能救你。学得慢没关系,但理解它才是最好的。你可以通过死记硬背来写代码,就像HTML可以通过死记硬背来完成一样。但你不需要那样做,因为你可以使用cheat-sheet,而且你也能理解标签。比如

<ol>
<li></li>
<li></li>
</ol>
Enter fullscreen mode Exit fullscreen mode

你知道是什么ol意思li吗?当我第一次记住这个时,我只知道这将创建一个有序列表,但我一直忘记它,因为我试图记住它。

我又忘了 html
我又忘了 html

但过了一段时间,我理解了“olli”的含义,就再也忘不了了。所以,永远不要死记硬背代码,因为如果你懂编程,就能轻松猜到要写什么。听起来很难?试试看,你会惊讶于自己的能力。

顺便说一下,ol方法ordered listli方法listed item。很简单吧?

努力学习所有知识,减少对高级主题的关注

我刚开始学习的时候是从 C 语言编程。但是我太渴望学习更多的东西了,所以我不断地从 C 语言跳到 C++,然后尝试了一点 C#。后来我们大学的面向对象编程课程要求我们使用 JAVA。所以我也学习了 JAVA。然后对于一些课程,我学习了汇编编程、Matlab、Python、HTML、CSS、JavaScript、PHP 等。但是如果当时你让我选择一个,我做不到,因为我对其中任何一个都不擅长,我只是了解它们并用它们写了一些代码。我喜欢 python,但我不知道如何在 python 上进行字符串反转,也不知道如何用 python 做算法。因为我以前用 C 语言编写了所有的算法,所以我不擅长使用 python 来编写算法或数据结构。我一生中最好的情况是,我从零开始学习 python,在 4 年内,我的 python 水平非常高,几乎掌握了职业生涯良好开端所需的一切知识。我没有遇到这种情况,因为大学里没人告诉我坚持只用一种语言,而且需求各不相同,所以我需要学习很多编程语言。最近我了解了 JavaScript 的底层工作原理。我学习了 V8 引擎以及 JavaScript 内部的一些其他知识。大多数教程并非旨在帮助理解这门语言,它们只是让你在不理解其本质的情况下也能构建一些东西。没错,你可以通过观看教程创造出令人惊叹的东西,但这并不能让你成为一名优秀的程序员。你只会依赖于你那些糟糕的代码,因为当你了解了底层原理之后,你才能写出更优化的代码。我当时并没有专注于高级编程主题,而只是专注于掌握编程语言,这是一个糟糕的决定。我们应该深入学习一个主题,而不是一味地了解一切!所以我的建议是选择一门语言并坚持下去。另外

  • 了解其工作原理
  • 学习如何用这种语言编写更好的代码
  • 如何提高用该语言编写代码的效率
  • 了解更多 加深对主题的了解

如果您做了这些事情,那么您可以说您是专家,如果您的知识不够深入,那么您就不是专家,而且我知道当前阅读此文的人都想成为专家(他们中的大多数,有些人已经是专家,而且我知道他们正在查看这篇文章)。

急于采用框架

大学最后一个学期,我意识到自己需要找工作,于是我开始调查当地的招聘信息,发现 LARAVEL 在我所在地区的薪资待遇不错,而且由于我当时懂 PHP,所以找工作对我来说很容易。虽然我的 PHP 水平并不高,但我凭借一些 PHP 知识创建了大约 3 个项目,所以我很快就开始学习 LARAVEL 了。刚开始学习 LARAVEL 的时候,我感觉自己对 LARAVEL 了解不多,但所有代码都是用 PHP 写的,我不禁想问:“我到底在看什么语言?”

该死!太难了
该死!太难了

LARAVEL 很简单,但要真正掌握它对我来说却很难,因为我对 PHP 的很多功能都不了解。我很早就开始使用 LARAVEL,如果我先学好 PHP,然后再学习 LARAVEL,那么我相信我会做得更好。我花了更多时间去理解 LARAVEL。但是当我学习 LARAVEL 时,他们发布了另一个版本,我需要了解新功能并花时间使用它,因为我甚至不了解它的一些基础知识。我以为 LARAVEL 很难,但现在我知道我的方法错了,我所做的一切都是为了进入一个框架。但我应该花更多时间来磨练我的技能。现在我认为在学习一个框架之前,任何人都应该学习

  • 编程语言很好
  • 了解该编程语言的优势
  • 使用该编程语言的 OOP
  • 了解连接数据库的方法
  • 做一些好的项目,你可以获得很多经验
  • 使用该语言清理、重构和扩展代码

如果您急于采用某个框架,请在评论中分享您的经验。

没有建设好的项目

当我了解到“一名 Web 开发人员应该拥有一份出色的作品集”时,我便开始考虑做一些项目。我的第一个坏习惯就是跟随 YouTuber 来做项目。我做过一些不错的项目,但说实话,它们都很基础。当我向别人展示这些项目时,他们的反应是——哦!好项目!但经过几次面试后,我明白了,它们并不好。如果你不打算在编码领域构建你的产品,那么你应该花时间做一些有趣且好的项目来展示你的技能。创建一个简单的博客并不能给你带来工作,至少不是你想要的工作。构建好的项目是获得好工作的过程。如果你想要一份好工作,那么你需要一些编码问题和解决问题的丰富经验。如果你只是在构建一个简单的项目,那么你永远不会遇到一些棘手的问题,通常我们通过观看 YouTube 教程制作的项目,它们非常简单。当你要创建一个大型项目/实际项目时,你会发现这些知识是远远不够的。

仅仅建立网站是不够的
仅仅建立网站是不够的

因为有很多东西你从未接触过。比如你用过套接字写过代码吗?你有没有做过集成多种支付方式的网站?或者你有没有做过允许用户拖放并进行创意创作的网站?另外,我可以说大多数 Web 开发人员从未开发过完整的 Web 应用程序。我在职业生涯开始一年后就创建了我的第一个 API。与此同时,我在一家公司工作,他们只开发 PHP 网站。我做全栈 Web 开发人员时也做过同样的事情。当我换工作并搜索其他全栈开发人员的职位详情时,我了解了 API、移动应用程序以及一些不同的东西。所以我的建议是构建一些真正优秀的项目并将它们添加到作品集中,这将大大增加你获得工作的机会,超出你的想象。此外,这还能帮助你在面试官面前谈论你的项目,大多数人无法在面试官面前谈论他们构建的任何东西。

不做任何算法编码

在参加了一些好公司的面试后,我明白了这是个错误。实际上,在我的国家,任何人都可以找到工作,即使对算法不太了解。我参加了很多面试,以获得面试和公司经验,大多数人雇佣的人要求的薪水很低,这就是为什么大多数公司无法在我所在的地区生存的原因。在我的第一份工作中,我是那里唯一的开发人员(那是一家数字代理公司)。他们要求我用 HTML 为他们当前的网站制作一个三步表单,我做到了,然后他们选中了我。在我的第二份本地工作中,他们要求我用纸笔用 PHP 编写电子商务代码。在做了 4 个月的第二份工作后,我认为 PHP 开发人员对我来说不是一个好选择,所以我转而从事 JavaScript 工作,开始在线工作,并尝试了一些远程工作。在这里我了解到我应该一直练习算法!因为面试需要算法。在好的公司,肯定会有算法测试。

需要编写一个获取好友的算法
需要编写一个获取好友的算法

所以要通过考试,解决编程问题是必要的。有很多编程网站可以让你学习算法知识,在积极申请面试的时候,至少花3-4个月来练习!这是每个程序员都会犯的一个新手错误!如果你只专注于学习算法知识,那么你最终无法通过考试,也很难找到一份称心的编程工作。

阅读 Stack Overflow 而不是阅读官方文档

每个程序员都知道 Stack Overflow,而且大多数人都会在这个网站上花时间。但说实话,有多少人在访问 Stack Overflow 之前会先阅读官方文档呢?想要了解具体的编程知识,最好的办法就是阅读官方文档。如果你不花时间阅读官方文档,而是花时间在 Stack Overflow 上,那么你会获得更多信息,但 Stack Overflow 上也有很多误导性的信息。这是我最近学到的。就我而言,我是在一个 Es-lint 问题中学到的。我在 Stack Overflow 上搜索了这个问题,大多数人建议关闭 Es-lint 规则,但我需要知道为什么我的代码会出现这种情况。我该如何解决代码中 Es-lint 的错误信息,但人们只是说注释掉它,禁用规则就行了。最后,我明白了 Stack Overflow 并不总是好的。所以最好先运行官方文档,然后再去 Stack Overflow 或其他地方查找相关信息。我看到每个初学者都会犯这个错误,也许一些资深开发人员也会犯这个错误。我的建议是先把整个文档读完,如果读不完,至少先看看完整的文档,然后再去看看其他网站。这是了解更正确信息的最佳方法!

忘记问为什么

当我开始学习新的编程语言时,我忘了问自己为什么!我为什么要这样做?为什么我用 Python 而不是 MatLab,为什么我用 Java 而不是其他编程语言。我认为这是初学者常犯的一个大错误。比如,问问一些初学者为什么用 Python、JavaScript、Java、C# 或其他语言编程。他们中的大多数人会保持沉默,但也有一些人很优秀,他们知道自己在做什么以及为什么这么做。我一度不明白这一点,为此吃了很多苦头。刚开始学习 PHP 时,我感觉是个糟糕的选择,我本可以选择 JavaScript 而不是它。但在 2018 年我了解到,在后端 API 请求方面,Node.js 比 LARAVEL 快得多。更多信息 - https://medium.com/@mihaigeorge.c/web-rest-api-benchmark-on-a-real-life-application-ebb743a5d7a3

express 与 laravel 的比较
express 与 laravel 的比较

有时人们选择框架时甚至不知道为什么。比如现在 JS 中有三个流行的框架——React、Vue 和 Angular。我需要用其中任何一个吗?我可以选择 Svelte,而不是全部三个。现在这取决于很多因素,但有一件事是普遍存在的。那就是为什么!初学者一定要问为什么!为什么我要用这个框架,或者为什么我应该用这个框架。知道为什么很重要,而不是盲目地选择和使用!

不要阅读其他代码

我不确定每个程序员是否都这样做。但从我的经验来看,我发现大多数程序员并不怎么阅读其他代码。至少在大学里,我看到了这种情况。我看到很多程序员只是编写代码和构建东西,但他们不阅读其他程序员的代码。我认为我们应该阅读任何开源项目或任何优秀/成功程序员的 git 帐户中的优秀代码。阅读这些可以帮助我们思考如何以更好的方式完成相同的工作。因为有时我们走进死胡同,我们只看到一条路可走,但如果你拥有适当的知识,你就能看到其他门的提示。我认为阅读其他代码将有助于编写更好的代码。此外,这将有助于建立一个心理模型,你可以在脑海中获得代码的输出,或者你可以在不运行代码的情况下思考代码。这是任何人都可以提高编码技能的方法。这是一个大多数初学者从未做过的简单编码技巧!

不分享旅程

“如果你不能向一个六岁的孩子解释清楚,那你自己就不明白。”
——阿尔伯特·爱因斯坦

我觉得这是初学者的问题。一开始我也遇到过这种情况。我刚学会编程,但要教别人的时候,我就想:“天哪!我怎么才能让他们理解编程呢?”

分享就是关爱
分享就是关爱

但随着时间的推移,我学会了如何向别人解释。对我来说,我开始觉得编程就像一场游戏。它有很多关卡,要想从一个关卡过渡到另一个关卡,你需要掌握一些技能。比如,如果我用 JavaScript 语言开发一款游戏,那么关卡就会……

  • 什么是 JavaScript?
  • JavaScript 类型?
  • JavaScript 比较
  • JavaScript 变量
  • 条件语句
  • 循环
  • 功能
  • 大批
  • 对象等。

你需要学习所有知识才能更上一层楼。这样才能让你的思路更清晰,也更容易为他人设计。我永远不会忘记这篇文章,因为我正在写它,正在计划它。所以分享能帮助你更好地记住事情,更好地理解事情。这是大多数初学者都会犯的错误,我以前也犯过。

缺少代码规划

规划对编码影响很大,尤其是在开发中型或大型项目时。你可以从任何功能入手,但为了提高效率,可以进行规划。有时,初学者根本不关注代码的扩展。他们只写一些示例代码,却无法扩展代码。我觉得我刚开始的时候也缺少这方面的内容,就像打开一个新文件,然后复制其他文件的代码来开发新功能一样。此外,我也缺少文件夹结构。

当有人问到编码计划时
当有人问到编码计划时

刚开始接触 React 的时候,我没怎么考虑文件夹结构,只是建了一个组件文件夹,把所有东西都放进去而已。说实话,这真的好吗?完全不是。我一开始没怎么考虑,因为刚开始的时候大概只有 10 个文件,所以也没怎么在意,但想想如果组件文件夹里有 300 个文件会怎么样?这可不是个好习惯。所以我觉得初学者应该懂得如何构建项目结构,在写代码之前做好规划,并且从一开始就考虑代码的扩展性。如果不规划代码,就有可能造成代码重写。谁都不希望出现这种情况,所以最好从一开始就规划好代码。

不知道如何使用调试器

我发现很多开发人员都犯了这个错误。我见过一些高级开发人员不使用调试器。但调试器确实很有帮助。现在你可以用 vscode 轻松设置调试器。尤其是在我调试别人代码的时候,调试器帮了大忙。不用 console.log 就能更轻松地找到代码细节(我给出 JavaScript 示例是因为我现在大部分时间都在写 JavaScript)。作为一名自由职业者,我需要处理多个项目和不同类型的代码库。调试器可以帮助我快速找到值的细节,让我的工作速度比以前更快。目前,我觉得我应该在编程入门阶段就学习调试器。

使用日记和时间跟踪

最近我开始写日记,但是我太懒了,不想每天都写,但我尽量每天坚持写。有时我只是在 2/3 天后才开始记录事情。但我会写日记,写下我的进度、目标和积压工作。我发现初学者在开始时大多数时候都不写日记。我也这样做了,我没有写日记,也没有追踪我的进度,但老实说,这很有帮助。当你开始追踪你的时间并衡量你在做什么时,你可以在短时间内取得更大的进步。因为你很清楚自己在做什么。此外,我建议每个人都使用时间追踪软件来追踪时间,因为这样我们可以轻松地追踪我们在做什么的时间。

每天记日记会有帮助
每天记日记会有帮助

我们可以了解构建一个功能需要多少时间,或者我们浪费了多少时间。如果我们开始记录和追踪时间,设定切合实际的目标并实现目标就会容易得多。

在编程社区中不活跃

我是一个内向的人,所以很难与人交流。我尝试通过博客、Instagram 帖子以及在 Twitter 上关注优秀的程序员与人交流。我知道对某些人来说,在社区中交流和保持活跃很难。但说实话,大多数初学者都会犯这个错误!因为他们不知道活跃或关注社区的重要性。每天都有新事物出现,有些是好事,有些则很糟糕。但程序员应该了解自己的技术栈上发生了什么。因为事情可能会发生两方面的变化,首先,在 Node.js 出现之前,没有人想过 10 年后我们会获得这么多的 npm 包(npm 首次发布:2010 年 1 月 12 日)。自己追踪所有事情真的很难。就像我们不能尝试编程世界中的一切一样,我们可以尝试编程世界中最好的东西。那么我们如何挑选最好的东西呢?从社区中,我们可以看到哪些软件包运行良好,人们正在使用什么。从他们那里获取数据并加以利用是一种很好的方法。而且,这也是一种与大家分享新事物的方式。我认为程序员需要交流和活跃的社区氛围,而初学者很少这样做!

害怕提问

如果你不去追求你想要的东西,你永远不会拥有它。如果你不去问,答案永远是否定的。如果你不向前迈进,你永远停留在原地。——诺拉·罗伯茨

我看到很多人有这种恐惧。他们害怕提问,我可以说,这不仅是编程新手的问题,也是所有初学者都会遇到的问题。但有时初学者会问一些不费脑子的问题。现在我们有谷歌,所以我建议大家在问别人之前先问问谷歌。因为现在网上有大量数据,你遇到的问题很可能已经有人遇到过,而且你可以在向任何人求助之前找到正确的答案。你可以用谷歌搜索任何东西,真的,任何你想搜索的东西!

生产力和效率的缺失

有些初学者匆匆忙忙地学习教程和构建东西。他们忘记了足够的休息。休息对大脑很重要。程序员应该专注于提高效率并充分利用时间。

我的日常生活
我的日常生活

我认为,作为一名程序员,我们应该专注于时间的合理利用,并充分利用时间。如果一个人没有足够的休息,那么他/她的效率就不会像那些会休息的人那样高。所以我建议在工作时要保证充足的休息。此外,你可以遵循番茄工作法来提高效率。最后一点是关于睡眠,我认为每个人都应该为了身体健康而睡足够多的觉。保持健康的饮食习惯也能提高任何人的效率。我认为这是大多数初学者忽略的一点,因为他们没有努力提高效率。如果你能完美地提高效率,那么你将很容易在短时间内完成更多工作。现在,选择做还是不做,由你自己决定。

哦,你终于读完了整篇文章,但有些人不想读整篇文章,所以我会为他们做一个小小的回顾。

回顾

我列出了初学者常犯的 17 个错误!它们是:

  1. 陷入教程地狱
  2. 不重视干净的代码
  3. 试图记住一切
  4. 努力学习所有知识,减少对高级主题的关注
  5. 急于采用框架
  6. 没有建设好的项目
  7. 不做任何算法编码
  8. 阅读 Stack Overflow 而不是阅读官方文档
  9. 忘记问为什么
  10. 不要阅读其他代码
  11. 不分享旅程
  12. 缺少代码规划
  13. 不知道如何使用调试器
  14. 使用日记和时间跟踪
  15. 在编程社区中不活跃
  16. 害怕提问
  17. 生产力和效率的缺失

每个人都会犯错,所以没什么可羞耻的。但从错误中学习很重要。每个高级程序员都曾经是初学者。一切都从零开始,所以如果你不为一项技能投入足够的时间,你就无法掌握它。不要操之过急,循序渐进,因为“稳扎稳打才能取胜”。但要尽量提高效率,不要把时间浪费在学习那些对你的发展毫无价值的东西上。时间有限,所以要充分利用它。

从中吸取了教训
从中吸取了教训

我希望通过本教程,所有犯过类似错误的初学者都能找到避免重蹈覆辙的方法。每个人在这个世界上的经历都不同,所以遇到的问题和解决方案也各不相同。但我们面临的问题和犯的错误都是一样的。我尝试列出一些我刚开始编程时犯过的错误。我现在尽力避免犯错,但仍然会犯很多错误。但我每天都会努力学习,并与社区分享更多,这样如果我找不到自己的错误,别人就能帮助我找到答案。

感谢您花时间阅读这篇漫长的错误之旅!请告诉我您接下来想从我这里学习什么主题?

我有两个免费的 PDF 给你

最初发表于nerdjfpbblog。您可以通过TwitterLinkedInInstagram
与我联系

文章来源:https://dev.to/nerdjfpb/17-beginner-programming-mistakes-help-guide-b2l
PREV
如何成为一名优秀的 JavaScript 开发人员?
NEXT
15 个 React Native 应用创意:从初学者到专家 [附免费教程] 入门项目创意 中级项目创意 高级项目创意 专家项目创意