定期回看
约 8 分钟
每隔一段时间翻翻自己以前写的代码。看得懂,说明当时写得清楚;看不懂,正好提醒你现在要写得更明白。这个习惯能让你直观看到自己的进步,也能把过去的坏习惯揪出来改掉。
回看时常见的收获是“原来当时绕了这么大弯”。比如判断一个数在不在数组里,早期可能写成一层循环加标记;现在你会直接用有序数组二分或 set:
#include <set>
set<int> s(a, a + n); // 建好集合
if (s.count(x)) { /* x 在里面 */ } // O(log n) 查询
同一件事,代码更短、更快、更不容易错。回看不是自我批评,而是把“当时的最优”升级成“现在的最优”。把以前那些绕的写法重写一遍,印象会特别深,下次自然就用更好的方法了。
小纸条
翻出三个月前的一段代码看看。
登录 后可看答案