🔴 接手一份陌生代码,先看什么
拿到一个没见过的 C++ 工程,最该先看的是【0】。
⚠️ 想弄清一次调用走了哪几层,最省事的办法
没有调试器时,弄清执行路径最省事的做法是【0】。
一次调用经过了哪几层
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)⚠️ 判题机上没法让你在 IDE 里跳转,所以这一节练的是**同一件事的另一半**:**在每层留一个记号,让执行路径自己打出来**。会读会摆记号,换到有 IDE 和调
🔴 同一个入口,两种输入走两条路
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)⚠️ 判题机上没法让你在 IDE 里跳转,所以这一节练的是**同一件事的另一半**:**在每层留一个记号,让执行路径自己打出来**。会读会摆记号,换到有 IDE 和调
自己做一份调用路径
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)⚠️ 判题机上没法让你在 IDE 里跳转,所以这一节练的是**同一件事的另一半**:**在每层留一个记号,让执行路径自己打出来**。会读会摆记号,换到有 IDE 和调
⚠️ 把两条路都走一遍
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)
🔴 读懂它在干什么,再下结论
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)第三个数:你判断它是在找最小值就写 1。
🔴 三条分支,一条都别漏
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)第四个数:把 path 里的记号数出来(提示:记号之间用 > 隔开)。
🔴 一个函数至少该测哪几类输入
为一个函数写测试,至少要覆盖【0】。
⚠️ 一条测试挂了,第一反应该是什么
跑测试时有一条挂了,第一件该做的是【0】。