📚 如何走出自学编程的“死循环”?
你听过但没听过的故事🤷♂️
我想从我自己的真实故事开始。因为我可以!
几年前(准确地说是 4 年前),当我想从头学习 Python(作为我的第三种编程语言)时,我阅读了大量书籍,观看了许多在线课程,订阅了最相关的 YouTube 频道和大量开发播客和代码流媒体……我非常接近这种感觉。
我不是心理学家,也不知道“他们怎么称呼它”(请原谅我),但我会把这种感觉称为“无尽的循环”或简称 TEC。
那时,我已经了解:现代 JavaScript、PHP、HTML+CSS,已经在 UI/UX 方面有实践,并且长期(自 2007 年以来)在该 Web 开发堆栈上做过宠物和商业项目。
但我的“Python 闭环”持续了大约 6 个月,在此期间我没有自己编写一行代码——只是重新输入了在线教练、博主、书籍作者、主播等给我的内容。
只消费,不自主修行。
那么,TEC 到底是什么?🤔
只能用一句话来形容:
我对新事物(这里指的是编程语言)的了解越多,我就越偏离它在实践中的实际用途。
不,这不是冒名顶替综合症或类似的东西。
TEC 更像是一个闭环模式。你开始学习新东西,但什么也不做,只是开启一个又一个的学习循环!如此循环往复……
比如“好吧,现在看另一个视频,但甚至不要打开你的 IDE,只需看看我在视频上如何编写代码”等等。
我知道,你现在想什么
比如“我的天哪,又一个拥有超级最佳实践的家伙来学习编程……”之类的。你说得对,就是这个!👌
但首先问问自己:“我为什么开始阅读这篇文章?”如果答案不是“我不知道”——那么你在正确的时间来到了正确的地方!
遵循以下规则——当时很有帮助,现在当我决定将 Go 添加到我的“编程语言万神殿”时也很有帮助。当我开始深入研究并感到 TEC 迅速发作时,我就是遵循这些规则。
规则#0→停止思考周围的一切,现在让我们自己完成该死的“Hello World”!
无论您正在尝试学习哪种编程语言,如果您陷入了无休止的循环,那么请立即停止!
说真的,观看“另一个视频”——根本行不通!
重复步骤
- ✅ 关闭所有“主要”浏览器标签(如 Netflix、Facebook、Instagram、Twitter 等)和浏览器本身。
- ✅ 把“极其有趣”的书放在一边。
- ✅ 在“最有趣的地方”暂停播客。
- 👌深呼吸。
- 🎯 打开您最喜欢的 IDE。
- 💭 记住编程语言的基础知识和语法。
- 💻 编写您自己的简单程序(例如,主函数接受 1 个参数并将其返回为字符串“Hello”)。
- 😀 对自己微笑。
- ⚙️ 为这个简单的函数编写一些简单的测试(例如,如果你给出“World”作为参数,测试你的函数是否返回字符串“Hello World”)。
- 🔗 将此代码推送到您的 git 公共存储库,并附上一条消息“打破 TEC 的初始提交”。
恭喜!🎉
你已经迈出了逃离TEC的第一步,也是最重要的一步。未来还有更多有趣的事情等着你,但现在你能做的最好的事情就是继续阅读这篇文章!
规则#1→找到您想要的东西并对其进行编码!
趁着你还在按照上一条规则预热 IDE 的时候,现在是时候开始你的新“终身项目”(第二天……也许两天)。而且,这个项目应该能解决你现在遇到的一些问题。
从简单的事情开始,逐步添加新功能!
它可以是任何东西:待办事项列表、健身追踪器、个人网站、CLI 应用程序等。但处理这个项目的算法应该是这样的:
- ⭐️根据您的知识和当前编程语言中最流行的框架/库/包,制作最小可行产品(MVP)。
- ✏️ 列出所有你不知道如何做但需要做的事情。
真实的例子
我自学了 Python,想把这门很棒的编程语言介绍给互联网用户。解决这个问题的最佳方式是个人博客。所以,我需要一个 Web 框架!👋
查找了 5 秒钟后,我发现最流行的 Web 框架是 Django。想象一下,我花了 10 分钟阅读了官方指南,现在我知道了如何:
✔️ 从 PIP 安装 Django。✔️
使用 CLI 创建第一个 Django 应用。✔️
配置数据库并进行首次迁移。✔️
创建新的模型和路由。✔️
创建视图和模板。✔️
构建添加/编辑/删除帖子的功能。
好的!我只是尽我目前的知识和文档所能。因为,这就是我实现 MVP 所需要的一切!👍
其他的事情,比如:模板的设计、在创建新的博客文章后交叉发布到社交网络的链接、Disqus 评论、添加可爱的“关于我”页面、为 SEO 配置元标记、构建 RSS 提要等等,都是我放入“以后研究的未知功能”列表中的。
规则2 → 不懂就问——这很正常!不问经验丰富的人就不好了
我们生活在一个信息量每秒都在以惊人的速度增长的世界。在“计算机时代初创”时期被认为是必备的知识——现在你只需几秒钟就能在谷歌上搜索到,而且完全不会记住!
那么,为什么不开始以您现在能够理解的方式编写代码,并在互联网上更有经验的人的帮助下逐步改进它呢?
不断地编写代码——是你此刻的目标!
重复步骤
- ✅ 编写代码。
- ⚠️为你的代码编写测试。
- 💬 向您的编程语言社区询问代码中的问题点或查找类似的问题,并看看其他人如何解决这些问题(GitHub、StackOverflow、Dev.to 等)。
- 🚀 尝试在您的代码上解决问题。
- ⚠️ 为修改后的代码编写测试。
- 📝 在您的知识库中记录解决方案。
你还没有知识库吗?没问题!
规则3→为编程语言创建自己的知识库
这不是开玩笑。养成一个好习惯:把所有帮助你解决特定问题的方法都写下来!
它可以是任何离线/在线服务,但要点是:
❗️ 一年 365 天、每天 24 小时访问记录的知识。❗️
快速记录新知识的最简单方法。
规则#4→相信自己和自己的知识,但不要太久!
当你遇到问题时,试着自己解决。依靠你知识库中记录的知识,以及你从在线课程、书籍、播客等中记住的知识。
但是,如果问题在前 20...30 分钟内没有得到解决,那么最好不要继续 - 向互联网上的人询问!
浪费时间于无用之事——这对你最没好处。有时候,退缩反而更好。
最后的话
照照镜子,看看自己。没错,你做到了!从无休止的自学编程循环中,享受这种自由的感觉吧。
现在——别停!世界总是需要新的英雄……也许那个人就是你?!
照片
[标题] Atlas Green https://unsplash.com/photos/VGOiY1gZZYg
[1] Ben Blennerhassett https://unsplash.com/photos/G8rRItjrwkA
[2] Nghia Le https://unsplash.com/photos/V3DokM1NQcs
[3] Jesus Kiteque https://unsplash.com/photos/wn-KYaHwcis
聚苯乙烯
如果你想在本博客上看到更多类似的文章,请在下方留言并订阅我。谢谢!😻
❗️ 您可以在Boosty上支持我,可以是永久支持,也可以是一次性支持。所有收益都将用于支持我的开源项目,并激励我为社区创作新的产品和文章。
当然,你也可以帮助我改善开发者的生活!只需以贡献者的身份连接到我的一个项目即可。非常简单!
我的主要项目需要您的帮助(和星星)👇
- 🔥 gowebly:下一代 CLI 工具,可轻松使用 Go 在后端创建出色的 Web 应用程序,使用 htmx、hyperscript 或 Alpine.js 以及前端最流行的 CSS 框架。
- ✨ create-go-app:通过运行一个 CLI 命令,创建一个具有 Go 后端、前端和部署自动化的新的生产就绪项目。
我的其他小项目:yatr、gosl、json2csv、csv2api。
文章来源:https://dev.to/koddr/how-to-get-out-of-the-endless-circle-of-self-study-programming-5145