抄代码到底有没有用?(完结)
抄代码到底有没有用?(完结)
球友们好,经常有读者给二哥反馈说,“自己看视频的时候能跟着敲代码,可一旦脱离视
频,让自己敲,就懵逼了。”
?
那
这
种问
题为
什
么
。
会
发生
,
该怎
么解
决
呢?
照着
视
频敲
代码
到
底有
没有
用
呢?
今天
就
来给
球友
们
讨论
下,
希
望能
给大
家
一些
帮助
和
启发
第一,学习是一个从不会到会的过程。不会的时候,代码自然敲不出来,就只能模仿,试
着去敲别人的代码,复制别人的代码。
这个过程一定要学会接纳自己,不要觉得技术大佬们肯定都是自己主动创造的代码,至少
二哥肯定是抄过别人不少代码的。
不论是抄、是调、是读,只要能在这两个问题上加深理解,学习就是有用的:
1、这一行代码在做什么?
2、为什么要这样写?
1 是为了理解思路,2 是扫清自己独立完成代码时的障碍。
就比如说,我们去看 JDK 的源码,比如说 String 的,比如说 HashMap 的,首先我们必须
得明白这个方法是干嘛的,这个变量是干嘛的,之后,再去弄清楚为什么人家要这么写,
比如说为什么加载因子必须是 0.75,比如说为什么要用拉链法。
在我们上学的阶段,一定会遇到这样的学生,平常看起来什么都没学,吊儿郎当的,一到
该考试了,就去突击一波,比如说拿班级前几名的卷子和作业抄一抄,考试也能考很高的
分。
而有些同学,也抄了作业,但成绩却一直很差,为什么会有这种差别呢?
前者会边抄边想,不懂就问,后者就只是为了完成任务,不过脑子,练字都算不上。
学习编程其实也是一样的,抄可以,调用 API 可以,但一定要自己主动去思考。
看别人的代码,了解大概,自己写,卡壳了,就再去看别人的代码,弄明白自己卡在哪
里,这样才能学到东西。
你比如说,大部分球友都会去刷 LeetCode,为了面试,对吧,但有些人刷一遍不行,要
刷两遍,两遍不行,还要刷三遍,这个过程没什么不对,书读百遍其义自见,但重要的是
在刷的过程中一定要自己总结出套路来,这样的题型怎么做,那样的题型怎么做。
不能一看见新题,就懵逼。
第二,持之以恒,不要三天打鱼两天晒网,很多读者的问题不在于抄,而在于无法坚持。
这个我强调过很多次,问题的本质不是说抄没用,而抄的太少。
你一个学期就能刷一个视频,别人一个学期能刷十个视频,同样是跟着视频抄代码,一个
学期下来,差距就被拉开了呀。
很多人道理明白很多,但真正做起来,那真的是行动的矮人,思想的巨人。
不管是编程喵,还是瑞吉外卖,还是什么别的烂大街的项目。一开始可以一个字母一个字
母去抄,然后是一行一行的抄,之后是一个方法一个方法去抄,如果出错了不要怕,坚持
一下自己写的和别人写的,到底哪里不一样。
也不要害怕和担心,遇到问题就问,别管别人烦不烦,不要不好意思,你是提问的,脸皮
还那么薄,怎么办?
不要总是今天头脑一热,就决定我要坚持一百天,然后明天状态不好了,就决定还是打一
天游戏吧。计划又抛之脑后了,人们总是习惯抱怨环境不好,环境不好,那不是所有人都
感觉环境不好的,对吧?
坚持让自己蜕变,之后你再摆烂。
比如说你要准备明年的春招、实习、秋招、跳槽、考研,那在这个目标完成之前,就不要
放松,不要拖延,日积月累。
之后完成目标了,你再怎么躺、怎么摆都行。
第三、抄代码的过程中也是要讲究策略的,可不是一味的抄。
二哥毕业十多年了,当码农这些年,是真的是“丑小鸭到天鹅”的过程,我比星球的很多球
友起点都低,但你可以看到我身上的毅力,我这些年发生的蜕变,脚踏实地不玩那些虚头
巴脑的。
我刚参加工作那会,就是跟着一个叫编程入门网的网站可劲的抄代码,抄计算器,抄聊天
室,反正就是从现在看起来很 low 的练手项目开始的。
之前在星球也分享过不少练手项目,比如说两个牛逼的网盘实战项目:https://
t.zsxq.com/07ih93r30 比如说可以写到简历上的 12 个实战项
目:https://t.zsxq.com/04JIQr3Rn 比如说可以作为毕设的 27 个实战项
目:https://t.zsxq.com/07X49ztIN
我现在的技术水平不能说多牛逼,但最近和我一起做项目的三个大厂的同学,还是非常佩
服二哥的技术面和技术深度的。
一开始,我也是什么都不会,堆栈都不会用,也是人家怎么写我就怎么抄,然后能运行成
功就可以了。
但抄了一段代码后,运行成功后,我会试着去改一些代码,看看能不能做出来自己想要的
效果。
这个阶段持续了很久,也是经常感觉,离开别人的代码就活不下去的感觉。
但随着时间的推移,思路渐渐有了一些,于是再后来就是自己先主动去写,写不出来就过
段放弃,不纠结,重新去抄别人的代码。
等经验积累到一定程度之后,我发现,编程的问题不在于代码本身,而在于思路,就是你
在面对一个业务的时候,怎么把这个业务转换为代码的思路,这个能力至关重要。
我经常有这种感觉,就是想了一天真的是想不到解决方案,然后我就去睡一觉,第二天就
有思路了,再去百度或者 Google,就会发现,能把问题解决了。
刚开始都比较难,一步一个脚印,不要浮躁,慢慢来,你得相信,不久的将来你肯定也是
一枚技术大佬。
推荐几本书吧,我觉得挺有用。
《计算机是怎么跑起来的》
《重构,改善既有代码的设计》
《网络是怎样了连接的》
《人月神话》
《代码大全》
以上,希望能帮助到球友们~