在学习编程的过程中,你可能会遇到“25个”“陷阱”。不仅初学者可能掉入陷阱,专业人士有时也难以脱身,我也不例外。0.忽视了编程最终是以人为本的。是的,机器确实会执行你的代码,但编程是为人们解决问题,将他们的需求转化为可以被其他人(或你自己离线)阅读、维护和修改的代码。1.没有花足够的时间练习编程。根据您的工作或日程安排,您可能会花费大量时间在与编程相关的任务上,而这些任务实际上并不是编程本身。2.停留在你正在学习的技术的表面上。沾沾自喜,认为自己掌握了足够的基础知识,可以完成任务,但对技术的理解只是表面的,没有触及核心内容。3.编程学习挑三拣四,坚持不下来。开始学Rails,学到一半发现Phoenix也不错,呵呵,学点JavaScript,这样就可以用Node.js了。。。从TJ转Go,坚持了一段时间。。。。.说到Rust哪个好用?很快,一周后你的浏览历史就会充满这些东西,《Web开发者还是数据科学家》、《Clojure死了吗?》、《ClojurevsElixir》、《Crystal够不够成熟》、《什么好的架构不Golang有”,“凤凰大战水牛”,还有“Kotlin”和web开发。4.上网看书、看课程,没有练习技能,忘记得很快。5.不关心基础知识。如果没有对象关系映射(O/RMapping)的辅助,连最基本的SQL连接都做不了。6.缺乏足够的耐心或自律来完成掌握任何技术所需的学习过程和步骤。(老刘:《学习还是要死磕啊》)7.厌倦应付日常编程中的各种问题,缺乏长远的规划和继续学习的安排。8.浪费太多时间在各种框架和库(如Angular、React和Vue)之间进行选择,而不是只选择一个,使用它,只有在真正需要时才切换其他。基本上,您只想找到可以一劳永逸的万能钥匙,而不是充分利用手头的资源。9.未能认识到现代编程的多语言特性。在大多数领域,期望一种编程语言成为解决所有问题的灵丹妙药是荒谬的。此外,过于执着于将自己归类为X或Y程序员,而不是“喜欢X或Y语言的程序员”。10.害怕尝试新技术。不要只阅读一些新兴技术(例如区块链或聊天机器人),而是通过启动虚拟机亲自尝试,即使它涉及您不熟悉的编程语言或API(应用程序编程接口)。11.我没有先想后找。自己在google上能找到解决办法,但是看到别人给的解决办法就烦了,觉得自己应该可以自己脑补一下。12.没有通过许多零碎的练习和项目来学习。13.害怕被评判会阻止你分享你的代码或让别人检查你的代码。14.不向更有经验的开发人员寻求一对一的指导。15.期望在不切实际的时间内学习所有内容(例如,一个月内掌握iOS开发)。16、对于有进取心的人,不要去尝试那些看似无利可图的有趣项目。17.避免提问,因为害怕给人留下愚蠢或新手的印象(事实并非如此)。18.当你通过将一些类库粘合在一起而不是用更复杂的语言编写“高级”算法来创建程序时,感觉你不是真正的程序员。19.让获得最佳实践的愿望阻碍你掌握特定语言或技术基础的能力。例如,感觉在开始创建项目之前我需要了解一整本关于设计模式的书或掌握TDD/BDD。20.完美主义。让完美成为“足够好”的敌人。从来没有交付任何东西,一直卡在最后。(但平衡很重要,所以不要为了交付而交付严重损坏的软件。)21.与前一点相关,忽略编程是渐进的:你应该让它工作,然后让它快速,然后让它干净清除。不可能从一开始就期待一个完美的解决方案。22.觉得自己做得不够好。如果你不是传统观念中“程序员”的形象,那可能有点糟糕——因为如果没有成功的案例与你的形象相似(比如女性、少数民族等)供你参考,你是更倾向于觉得自己“不行”。这解释了女性和少数族裔在科技界的重要性——她们为其他人提供了一个基准,增强了他们提升的信心和动力。23.写代码看书学习编程,但绝对不要看别人的代码。开源为我们提供了惊人的资源,可以极大地促进我们对编程和最佳实践的理解。24.未能参与其他范例或领域。仅仅因为你是一名网络开发人员,就不要学习其他类型的开发。仅仅因为你知道面向对象编程,就不要学习函数式编程。25.不将自己所学的教给别人。没有什么比向别人解释更能强化你所学的了。即使只是为了教学而学习,也可以提高你的学习能力。那么以上25个陷阱你就明白了。哦,其实是26,程序员习惯从0开始。结论都是在说:你够好了。你绝对可以做到。你所要做的就是提防这些陷阱,制定一个计划,跳进去,一步一个脚印。在学习编程(或提高您当前的水平)时,我推荐编码/阅读/教学方法。也可以在学习的同时编写一个实际项目和其他小练习。然后看书看别人的代码。最后,将您在网上或亲自学到的知识传授给其他人。您无需成为专家即可执行此操作。
