当前位置: 首页 > news >正文

编程学习之路:如何克服挫折感,成为更好的自己

目录

编程学习之路:如何克服挫折感,成为更好的自己

一、小瓜有话说

1、学习的广度可以带动深度

2、清空大脑和清空代码都是解决问题的方式

①清空大脑:睡个觉,拉个屎,吃顿饭。

②清空代码:换一种思维模式

一、接受不完美:编程中的成长心态

二、遇到瓶颈:如何找到突破口?

1、切换视角,尝试不同的方法

2、暂停和休息

三、借助外力:利用社区和资源的力量

四、自我激励:保持积极心态的策略

1、设立小目标并庆祝小成就

2、记录和反思学习进程

五、持之以恒:在编程中找到乐趣

六、结语


作者:watermelo37

涉及领域:Vue、SpingBoot、Docker、LLM、python等

-----------------------------------------------------------------------------------

-------温柔地对待温柔的人,包容的三观就是最大的温柔。-------

-----------------------------------------------------------------------------------

编程学习之路:如何克服挫折感,成为更好的自己

        在编程学习的道路上,挫折感就像一堵难以逾越的墙,尤其是当你卡在一个Bug、理解不透一个算法、或者被复杂的框架搞得焦头烂额时,挫折感更是扑面而来。如何在编程学习中克服这些负面情绪,并保持积极向上的态度?本文将分享一些我在学习过程中积累的经验和策略,希望能帮助你找到突破的方向。

一、小瓜有话说

1、学习的广度可以带动深度

        《从前有座灵剑山》这部小说里面有个设定,就是有两个修仙史上绝顶强大的传说,他们的根基并不稳固,也不在乎能不能“越级挑战”,他们的修炼方法就是刷级,利用自己快速修炼的天赋快速突破,被别人越级挑战成功,那就抓紧时间突破,然后再高几个境界直接压制对方。

        这个设定非常有意思,在大部分修仙小说里面都是根基不稳就无法突破,而这里的设定是突破只看天资,上限也只看天资。

        巧了,现实生活中一个人编程水平的上限也是看天资的,遇到困难不要急,只要抓紧时间多学几套框架,多丰富几个技术栈,“用高出几个大境界的水平”再回头看,不管多难的问题都会变得异常简单。

        所以,多学、多看、多写就是小瓜认为克服编程挫折的最好办法。学多了,自然就触类旁通了。

2、清空大脑和清空代码都是解决问题的方式

        我有很多次卡在一个问题上,最后的解决方法是以下两种:

①清空大脑:睡个觉,拉个屎,吃顿饭。

        睡着睡着,拉着拉着,吃着吃着,逻辑通顺了,然后抓紧时间实现就行了。

        这不是玄学,门捷列夫发明元素周期表,格雷厄姆·希格在坐公交的时候突然想通并形成希格定理等等等等,不胜枚举,但请注意:“顿悟”可能是一个瞬间的过程,但它通常建立在大量的工作和知识积累之上。如果你都还不够上心,没有进行深度思考,那么是不可能发生“顿悟”的。

②清空代码:换一种思维模式

        有一次做一个功能实现,我写了好久好久,越写越复杂,还偶发一些bug,让我非常烦躁,然后我一怒之下把刚刚两小时写的不完美代码都删了,从头开始,突然灵感就来了,花了不到半小时就完美解决了需求。

        在既定思维里面,很容易失去发现第二条路的能力,眼前只有脚下的路,哪怕在绕圈子可能都不会发现。

二、接受不完美:编程中的成长心态

        编程世界里,错误和Bug是常态而不是例外。初学者常常会因为代码运行错误而感到挫败,进而质疑自己的能力。其实,接受自己的不完美,承认编程学习是一个不断试错、不断改进的过程,是走出困境的第一步。编程世界里,错误和Bug是常态而不是例外。初学者常常会因为代码运行错误而感到挫败,进而质疑自己的能力。其实,接受自己的不完美,承认编程学习是一个不断试错、不断改进的过程,是走出困境的第一步。

        学习如何与Bug共处:面对Bug,不要慌张。Bug实际上是计算机告诉我们哪里出错了。学会耐心地调试代码,通过查看日志、打印调试信息等方法,逐步找到问题的根源。这是一种极为重要的思维训练。每当我解决一个Bug时,都会有一种“啊哈!”的瞬间,这种成就感会冲淡之前的挫败感。

        坚持持续改进:很多时候,我们在学习新技术或编写复杂代码时,容易陷入“追求完美”的陷阱,认为代码必须一次性写得完美无缺。事实上,编程本身就是一个不断迭代和优化的过程。与其追求一蹴而就,不如注重渐进式的改进,每次优化一点,长此以往,积小步为千里。

三、遇到瓶颈:如何找到突破口?

        每个程序员都会遇到学习瓶颈期:突然有一天,面对某个技术问题或者算法题,无论如何也找不到解决办法。如何走出这种困境呢?

1、切换视角,尝试不同的方法

        有时候,换个角度思考问题,反而能找到意想不到的突破口。当我遇到算法瓶颈时,会尝试从不同的角度重新审视问题,比如将其转化为另一种更易理解的问题模型。此外,有时也会借助纸笔,画出算法的运行过程,这种“纸上推演”的方式能够更直观地理解算法的内部逻辑。

2、暂停和休息

        连续长时间的编程很容易让人陷入“思维盲区”。在这种时候,强迫自己继续下去,往往会事倍功半。我会选择离开电脑,去散步或做些其他事情,给大脑一个休息的时间。常常在这种时候,灵感突然就来了!有时,解决问题的关键就在于给自己和大脑一点时间和空间去“重启”。

四、借助外力:利用社区和资源的力量

        编程学习中,我们不应该孤军奋战。利用外部资源,借助集体的力量,是克服挫折感的重要策略。

        很多时候,我们遇到的问题别人也曾遇到过。在编程社区(如Stack Overflow、Reddit、GitHub等)中,你可以找到大量的解决方案和讨论。不要害怕提出问题,社区的力量是强大的。我就曾多次在论坛上找到自己想要的答案,甚至与其他开发者一起讨论,收获了不少新的思路。

        学习编程的道路上,有个导师或者学习伙伴,会让你少走很多弯路。导师可以提供经验和指导,而学习伙伴可以与我们一起讨论问题、互相激励。在我刚开始学习编程时,一位经验丰富的同事在我遇到困难时给了我很多启发,这种帮助和鼓励对我的成长起到了非常积极的作用。

五、自我激励:保持积极心态的策略

        在学习编程的过程中,保持积极心态是克服挫折感的关键。以下是我常用的几种方法:

1、设立小目标并庆祝小成就

        学习编程是一个漫长的过程,设定一个又一个小目标,并在达成这些目标后给自己一些奖励,这会让学习过程变得更有趣和有动力。比如,成功实现一个功能后,我会允许自己休息一下,看一集喜欢的电视剧或者吃点喜欢的零食。这样的小奖励能让我保持积极的心态,迎接下一个挑战。

2、记录和反思学习进程

        我会定期记录自己在学习中的收获和遇到的困难,通过这些记录,我可以看到自己的进步,反思自己的不足,并根据需要调整学习策略。这种持续的自我反思不仅能够帮助我克服当前的挫折感,也让我在面对新问题时更加从容。

六、持之以恒:在编程中找到乐趣

        编程不仅仅是一项技能,更是一种创造力的体现。如何在编程中找到乐趣,是坚持学习的重要因素。

        找到自己喜欢的项目:编程的乐趣在于将自己的想法变为现实。选择一个自己感兴趣的项目,不仅能够让你更投入其中,还能在开发过程中不断发现乐趣。我曾经为了学习Vue,决定用它来开发一个个人博客,这让我不仅学会了新技术,还找到了持续学习的动力。

        不要忘记享受编程的过程:编程本身是一种极具挑战和创造力的活动,不要把它仅仅当成完成任务或解决问题的过程。在编写代码、调试和优化的过程中,我们其实是在不断锻炼自己的思维能力、逻辑能力和解决问题的能力。学会享受这个过程,你会发现编程世界充满了无穷的乐趣和探索的机会。

七、结语

        编程学习的路上,挫折感不可避免,但这并不意味着我们要被它所困扰。通过接受不完美、勇敢面对瓶颈、借助外部资源、保持积极心态以及找到编程中的乐趣,我们可以逐步克服这些挫折,成长为更好的程序员。希望这些经验和建议能对你的编程学习之路有所帮助,愿我们都能在这条路上越走越远,越走越好!

         只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

        更多优质内容,请关注:

        你真的会使用Vue3的onMounted钩子函数吗?Vue3中onMounted的用法详解

        通过array.filter()实现数组的数据筛选、数据清洗和链式调用

        el-table实现动态数据的实时排序,一篇文章讲清楚elementui的表格排序功能

        极致的灵活度满足工程美学:用Vue Flow绘制一个完美流程图

        shpfile转GeoJSON且控制转化精度;如何获取GeoJSON?GeoJson结构详解

        Docker 入门全攻略:安装、操作与常用命令指南

        通过array.reduce()实现数据汇总、条件筛选和映射、对象属性的扁平化、转换数据格式等

        巧用Array.forEach:简化循环与增强代码可读性

        Mapbox添加行政区矢量图层、分级设色图层、自定义鼠标悬浮框、添加天地图底图等

        管理数据必备!侦听器watch用法详解

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JavaScript中设置器和获取器
  • 可集成多模型的机器人开发框架 dora:让机器人编程走向大众
  • 战略合作篇白皮书:深度革新,赋能企业跃迁
  • C# Hashtable
  • 【FESCO福利专区-注册安全分析报告-无验证方式导致安全隐患】
  • 嵌入式智能移动机器人导航系统:状态空间控制算法、路径规划算法、PID控制算法(代码示例)
  • Java学习Day34:图书管理小项目
  • 【威锋网-注册安全分析报告-无验证方式导致安全隐患】
  • ai回答 部署前端项目时需要使用ssh吗
  • 结构开发笔记(五):solidworks软件(四):绘制36x36方块摄像头基座
  • 云手机在亚马逊店铺运营中能发挥什么作用
  • 统计Statistics | AnyLogic 帮助
  • WPS宏实现表格合并功能
  • Excel的使用总结2
  • 网络抓包测试
  • 《剑指offer》分解让复杂问题更简单
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • C学习-枚举(九)
  •  D - 粉碎叛乱F - 其他起义
  • egg(89)--egg之redis的发布和订阅
  • ES6 ...操作符
  • Flannel解读
  • JavaScript函数式编程(一)
  • JS专题之继承
  • JWT究竟是什么呢?
  • Next.js之基础概念(二)
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • 从0到1:PostCSS 插件开发最佳实践
  • 高度不固定时垂直居中
  • 开源SQL-on-Hadoop系统一览
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 批量截取pdf文件
  • 前端攻城师
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 物联网链路协议
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​卜东波研究员:高观点下的少儿计算思维
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • #include到底该写在哪
  • (1)Jupyter Notebook 下载及安装
  • (HAL库版)freeRTOS移植STMF103
  • (pytorch进阶之路)扩散概率模型
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (亲测有效)推荐2024最新的免费漫画软件app,无广告,聚合全网资源!
  • (转)Android学习笔记 --- android任务栈和启动模式
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net 验证控件和javaScript的冲突问题