你是如何克服编程学习中的挫折感的?
编程学习之路上,挫折感就像一道道难以逾越的高墙,让许多人望而却步。然而,真正的编程高手都曾在这条路上跌倒过、迷茫过,却最终找到了突破的方法。你是如何在Bug的迷宫中找到出口的?面对复杂的算法时,你用什么方法让自己保持冷静?让我们一起分享那些克服挫折的经验,为彼此的编程之路点亮希望之光!
方向一:心态调整
提示:探讨如何调整心态,保持积极乐观的学习态度,如何设定合理的目标和期望。
额,心态,我心态算是特别佛系的那种,无论做什么我都不是很急。我知道有的同学做事可能就很急,喜欢和时间赛跑。
方向二:学习方法
提示:分享有效的学习策略,如何分解复杂问题,如何在遇到困难时寻求帮助等。
我最开始学编程的时候是在udemy上花12美元买的python课,讲师是一位英籍华裔。我很幸运当时12美元买的是她的那系列课,而不是其他大佬的课。她的课不能说教会你精通什么,但是会带你过你一遍,她讲的没有其他大佬那么华丽,那么专业,就是告诉你将要实现什么功能然后你自己练,后端rest api开发,图形界面开发,终端gui开发,客户端开发,socket等。然后就正式进入code之旅, 我选择了golang作为我的主力语言,在go语言中扎稳了脚后,就开始尝试其它语言c,c++,rust。学习方法就一套: 打代码,你不需要记它的语法,让你的手指记住它,把更多的精力留给学习理论和其它,但是推荐最好买一本该技术栈比较权威的书籍认真学习,通常这些书出版商都会给你激活电子版,你可以将书下载到电脑,一是方便翻阅(电脑版能直接关键词快速搜索内容),二是方便一边看一边打代码练习
方向三:经验
提示:讲述自己或他人克服挫折的真实故事,分享那些关键的转折点和领悟。
多打代码,多练。没事可以逛逛github看看和自己相同技术栈的同学在搞什么项目,往往这种收益来得最快,你可以理解为编程界的"吸星大法"。每次的收益当时可能不会见效,但是你的"武器库"里就又多了一员大将,等到真到用场时那一天,你就可以进行"军火展示",我把这种行为称为"整活",而我就是最爱整活的一个人,所以我无时不刻都在搞新东西,每天上班把进度搞完了就看时搞新东西,下班回家继续搞,虽然大部分平常都用不上,但是有机会用的上的时候就可以整活。
我编程之路很少出现挫折感,emm…几乎没有。我编程就是为了整活!我在公司不喜欢和人说话,但是又要和前端调接口,于是我就写了个局域网设备嗅探器,通过实时捕获经过的arp包来记录局域网中存在的ip和mac地址,并将关系记录下来,我只需要知道一次他的ip地址我就知道他电脑的mac地址,后续我不需要再问他直接用他的mac地址查他的ip地址进他给我留的端口调;我看telegram中闲聊群机器人的做的挺有意思,于是自己花一个周末自己搓了一个,看它少了灵魂,于是后端给它接入gpt,看它不够多元化,没有照顾到新手和小众coder,于是又给它添加了python和rust 的插件编写支持,一个是对新手的照顾,一个是对小众coder的照顾;我大学时也有运营一套自己的网站,上面展示了我当时各种奇想搞出来的工具,我甚至觉得编写到发布很麻烦于是自己写了一个发版工具,那个还不是go写的,还是用c++写的,没错又是多元化。
这是我golang部分的截图,
这些是比较完整的project,每一个都是投入了心思进去,包括测试脚本,通过我发版工具自动分发脚本。很多时候也不是什么都完全知道,例如shell,shell我几乎每次用加减,字符串前后缀匹配这种不怎么用的功能都是现用现搜,这个也不觉得丢脸,很多时候一些不常用的sdk忘记了怎么用又重新去看都是很正常的,你只需要知道有那个东西和那个东西是做什么的就行了。如果是互联网上教程有残缺,自己费了很多时间才搞出来的我通常会记录到自己开发手册中,这种棘手的问题一般是先看开发手册有无记录,没有就从互联网找线索,找不到就看有无实现类似功能的开源项目,有就拉取到本地学习该项目是如何实现这个功能的