使人疲倦的不是远方的高山,而是鞋里的一粒沙子
最近在项目里遇到的一些问题,可以看到一些简单的事情,在做多了不可避免的会有问题
这些在方方面面降低了开发质量和效率(debug的过程非常耗时)
if(abs(deltPos.x) > mGrassImpulseArea || abs(deltPos.x) > mGrassImpulseArea )
x = QSMath::Clamp(x, 0, (int)mSectorDesc->mSizeX-1);
y = QSMath::Clamp(x, 0, (int)mSectorDesc->mSizeY-1);
这里实现方面的假设和对应策略可以如下:
- 基础策略级别:开发实现都建立在“人不是百分百准确的生物”,在会出错的前提下,去设定避免错误的策略
- 降低出错概率,选择“出错概率更低”的策略,比如使用封装好的验证过的函数
- 底层engine提供更多的稳健易用的封装接口,尽量给高层实现提供强大稳健的接口