John | 曲

Reflection in Transition

贝贝60秒:重构代码乐趣何在

曲政 / 2019-10-24


今天是贝贝报告给你的第 238 天
2019-10-24 星期四

昨天和今天,我停止前进,重写(有时也粘贴)过去的两个运算文件。

重写呢,谁也不愿意。我解不出方程,知道肯定有错误,却不知道它们都在哪;我也听说代码就应该经常重构。

我的体会,好处有三个方面。

第一,它让我理解深入的关系。例如,我以前把多项式系数写成了一个类,现在我建了多项式这个类,系数就没有必要独立出来。

第二,它让我有更好用的界面。例如,把几个多项式封装到一个样条中,给两个参数,生成这些多项式的符号表达式,后续的操作都是对样条和多项式的运算,方便多了。

第三,它给我叠加推进的信心。例如,把关键运算结果画出图来,就知道是不是合理;打印每一个函数的输出结果,就知道是不是正确。

就这样,步步为营,我写得挺开心。

img

图 1:重复的代码整合到一处

img

图2:多项式系数写在多项式里

img

图 3:两个参数建经典样条