怎么独立写代码?
学习方法总结,不定期更新
一. 独立写代码是什么?
核心:脑子里自己推导逻辑,手敲,不复制粘贴视频完整代码,遇到报错自己排查,而不是对着视频逐行照抄。分 4 个层级,越往后越接近真正独立。
写代码四层级:
a.最低:照着视频逐行复制(不算独立写)
b.入门独立:看思路,关闭视频,凭记忆写(算初级独立)
c.真正独立:改变需求、改写代码(最有效,面试工作真实水平)
d.高阶独立:自己提需求,从零写。
二. 判断是否是独立写代码
把视频删掉,你能不能把这个功能重新实现出来?
能,就是独立写;
不能,就是模仿抄写;
三. 边界:哪些可以抄,哪些不行
允许抄:库函数调用格式、寄存器手册片段、固定模板(比如汇编启动文件基础框架)
不允许抄:业务逻辑、if/for 逻辑、自己的应用代码直接复制视频。
四. 独立写代码流程
1.看视频,理解原理、流程图,标记关键API。
2.暂停/关闭视频。
3.凭理解自己写完整代码。
4. 编译报错,阅读报错信息调试。
5.实在卡很久,只看视频对应的思路片段,不要复制整块代码。
6.跑通之后,主动该需求做变体。
五. 从 抄代码 到 独立写代码
1.将课程代码 翻译成 流程图,流程图 由 伪代码构成,将伪代码 写在笔记本上。
2.笔记本上,记寄存器名,记API。
3.关闭视频,看笔记本,将伪代码 翻译成 代码。可看芯片手册,查函数基本逻辑。
4.编译报错,阅读报错信息调试。
5.卡住超5分钟,再看视频,理解思路后,再写。
六. 正式项目(团队、产品)
需求文档 -> 画流程图 / 模块框图 -> 设计接口(API) ->再写代码
流程图:表达业务逻辑走向(判断、循环、分支)
框图:哪个模块调用哪个模块(比如:串口模块、按键模块、LED模块)
复杂业务,必须先图后代码。防止写一半逻辑乱掉,同事也能看懂你的设计。
七. 独立写代码 考察的能力
1. 第一层能力:把需求拆解成伪代码(想明白要做哪几步)
这是逻辑思维,解决:该干什么
就算寄存器、函数全忘、伪代码依然能写出来。这一步和C语法、硬件无关。
2. 第二层能力:伪代码翻译成 C语言
解决:怎么用代码干出来。
翻译要两个东西:
① 懂C语法:赋值、移位、if、循环、指针这些
② 熟悉硬件:寄存器、寄存器位定义、API函数、头文件
3.完整链条:
需求 --> 拆解伪代码 (要干什么) --> 依靠C+硬件知识翻译成C代码(怎么干) --> 调试
小知识:
API:就是别人写好给你调用的函数 / 接口,你不用去看它内部怎么实现,知道输入什么、会做什么、返回什么,直接调用就行。
伪代码:将 代码目的 翻译成 中文。
流程图: 图形化伪代码。
框图:流程图组合包。
新手:每个伪代码都写。直到十多个小练习后,流程图内化到大脑中,成为固定模式。
老手:只画框图,不细写底层伪代码。因为 底层伪代码 早已内化到大脑中。
