您现在的位置是:亿华云 > 应用开发
学习编程的25个“坑”,你踩到了吗?
亿华云2025-10-09 10:37:13【应用开发】8人已围观
简介学习编程的过程中可能会遇到“25”个“坑”,不仅初学者可能中招,专业人士有时也难以逃脱,我自己也毫不例外。0. 忽视了编程终究是以人为本的。是的,机器的确会执行你的代码,但编程是为人们解决问题的,将他
学习编程的坑过程中可能会遇到“25”个“坑”,不仅初学者可能中招,学习专业人士有时也难以逃脱,编程我自己也毫不例外。坑
0. 忽视了编程终究是学习以人为本的。是编程的,机器的坑确会执行你的代码,但编程是学习为人们解决问题的,将他们的编程需求转换为由其他人(或你自己线下)读取,维护和修改的坑代码。
1. 未能花充足的学习时间练习编程。 根据工作或日程安排,编程你可能会花费大量时间在与编程相关的坑任务上,但实际上这些并非编程本身。学习
2. 停留在你正在学习的编程某个技术的表面。 沾沾自喜于自己掌握了足够完成任务的基础知识,对技术的了解却只流于表面,源码库未有触及核心内容。
3. 在编程学习中挑挑拣拣,无法持之以恒。一开始学习Rails,半道儿你发现Phoenix也不错,哦,学点JavaScript吧,这样就能用Node.js 了......从TJ转到Go然后坚持了一阵子......说起来Rust好不好用来着?
很快,一周内你的浏览历史净是这些东西,“Web开发者还是数据科学家”,“Clojure死了吗?”,“Clojure 对比 Elixir”,“Crystal足够成熟吗”,“Golang有什么好的架构”,“Phoenix 对比 Buffalo”,以及“Kotlin ”与网页开发。
4. 在线阅读书籍和观看课程,却不练习相应的技能,因此很快就会忘记它们。
5. 不关心基础知识。如果没有对象关系映射(O/R Mapping)的辅助,连最基本的SQL连接都搞不定。
6. 缺乏足够的耐心或自律来完成学习过程和掌握任何技术所需的步骤。 (码农翻身老刘:《学习还是要死磕啊》)
7. 疲于应付日常编程中的企商汇各种问题,缺乏继续学习的长远规划安排。
8. 浪费太多时间在各种框架和库(如Angular,React和Vue)中进行选择,而不是仅仅认准一个,使用它,并且只有在你真正需要时才切换其他。 基本上讲,一心只想找到能一劳永逸的万能钥匙,而不愿意先充分利用手头资源。
9. 无法认识到现代编程需要多语言协作的性质。 在大多数领域,期望一种编程语言成为解决所有问题的灵丹妙药是荒诞不经的。 同样,过于执着把自己分类成X或Y程序员,而不是"偏爱X或Y语言的程序员"。
10. 害怕尝试新技术。不要只是阅读某些新兴技术(例如区块链或聊天机器人)相关的文章,而是自己动手打开虚拟机试用一下,即使它涉及到你不熟悉的编程语言或API(应用程序编程接口)。b2b信息网
11. 自己没有先行思考而后再进行搜索,谷歌上的确能找到办法,但是看到别人给出的办法之后又很懊恼,觉得自己应该能依靠自己的脑子想出来。
12. 学习时没有进行许多零碎练习和开展项目。
13. 因害怕被评判,而不敢与他人分享代码或让他人检查自己的代码。
14. 不向更有经验的开发人员寻求一对一辅导。
15. 期望在不切实际的时间内一次学习所有东西(例如,一个月内掌握iOS开发)。
16. 对于事业心强的人而言,不去尝试那些貌似无利可图的有趣项目。
17. 因为害怕给人以愚蠢或菜鸟的印象(事实并非如此)而不去发问。
18. 如果在创建程序时只是将一些类库粘合在一起,而不是用更复杂的语言来写“高级”算法,就觉得自己不是真正的程序员。
19. 让习得最佳实践的欲望阻碍你掌握特定语言或技术的基础知识的能力。 例如,在开始创建项目之前,感觉自己需要了解有关设计模式的整本书或掌握TDD / BDD。
20. 完美主义。 让完美成为“足够好”的敌人。 从不交付任何东西,一直卡在最后阶段。 (但保持平衡很重要,所以不要为了交付而交付可怕的破碎软件。)
21. 与前一点相关,忽略了编程是循序渐进的:应该先使其工作,然后再让其变快,再让代码简洁明了。期待从一开始就有一个绝佳的解决方案是不可能的。
22. 觉得自己做的不够好,如果你不是传统观念中“程序员”的形象,那可能就有些不妙——因为如果没有与你形象类似(比如,女性,少数族裔等)的成功例子供你参考,你更倾向于觉得自己“不优秀”。这就解释了女性和少数族裔在科技界的重要性——他们为他人提供标杆,增加他们向上的信心和动力。
23. 编写代码并阅读书籍学习编程,但从不阅读他人的代码。Open Source为我们提供了一个惊人的资源,可以大大促进我们对编程和最佳实践的理解。
24. 未能接触到其他范例或领域。就因为你是网页开发人员,就不去了解其他类型的开发。就因为你知道面向对象的编程,就不去学习函数式编程。
25. 不教别人你学到的东西。没有什么能比向别人解释更能巩固自己所学。即使只是为了教学而学习也能提高你的学习能力。
这样你就了解了以上25个陷阱。哦,实际上是26个,程序员都习惯从0开始的。
结论
这一切都是想说:
你已经够好了。你绝对可以做到。要做的就是当心这些陷阱,制定计划,投入其中,然后一步步来。
在学习编程(或提高当前水平)时,我推荐使用编码/阅读/教学法。 也可以在学习中对一个实际的项目和其他小练习进行编码。 然后阅读书籍以及其他人的代码。 最后,在线或面对面教授他人你学到的东西。你不需要成为专家就可以做到这些了。

很赞哦!(3)
相关文章
- 顶级域名可以增加企业品牌的价值。随着经济的快速发展,域名已不再是企业在网络中的独立地位。顶级域名的服务范围、企业产品、综合形象体现等,对于企业单位来说,顶级域名的重要性不言而喻。
- 萌新指南 | SOA vs. 微服务:What’s the Difference?
- CompletableFuture真香,可以替代CountDownLatch!
- Sentry For React 完整接入详解(2021 Sentry v21.8.x)前方高能预警!三万字,慎入!
- 2、根据用户基础选择访问提供程序。由于互联问题的存在,接入商的选择也非常重要,如果用户群主要在联通,尽量选择联通接入较好的接入商,如果用户群主要在电信,那么选择电信接入较好的接入商。如果用户组位于国家/地区,则选择更好的访问提供程序进行交互。
- 厌倦了 VS Code?试试 Lite-XL吧
- Kafka大厂高频面试题:在保证高性能、高吞吐的同时保证高可用性
- 有效的山脉数组,怎么求?
- 这个不用多说,不同平台的注册价格不同,且不同平台对域名释放交易的把控与曝光不同,当然价格相对便宜且平台渠道广操作便利的平台最好。
- Selenium 之显性等待详解
站长推荐
顶级域名可以增加企业品牌的价值。随着经济的快速发展,域名已不再是企业在网络中的独立地位。顶级域名的服务范围、企业产品、综合形象体现等,对于企业单位来说,顶级域名的重要性不言而喻。
语法糖甜不甜?巧用枚举实现“状态”转换限制
Java中的默认接口方法和静态接口方法
Sentry For React 完整接入详解(2021 Sentry v21.8.x)前方高能预警!三万字,慎入!
cm域名有什么独特之处?新人要了解cm域名哪些?
面试官:说说你对 TypeScript 中泛型的理解?应用场景?
Java线程进阶之ThreadPoolExecutor线程池执行原理机制详解
如果你使用了这个Stream流操作,升级Java17有可能会出问题