代码反思
最近一周出了两次线上事故,其中一次还处于封网期,最后无奈破网上线。问题都不大,但确实很恶心。反思自己写代码没有方法,于此做笔记。
先写开发笔记,再具体开发。可以练习,养成习惯!
1. 改代码是否对老的代码有影响:
这个问题如果问我们,我们大多数人都知道,改老代码可能会影响原有功能,但真正做的时候可能就顺手就改了。改的时候,一定要多反思。本次的故障:longitude 单词原代码中拼错了,我做了改正,是我用的结果返回值正常。但忘记检查是否有其他地方使用这个错误的单词,结果导致故障。
2. 临界条件的判断:
临界条件一定要多注意:是否为空?是否为空集合?是否越界?本次出的故障:A 、 B 两个结果集的合集作为结果集返回,因为A结果集是重点,结果值关注的A结果集是否有结果,在A结果集没有结果的情况下返回空列表。结果导致,只有B结果集的是也返回空列表。
3. 完善的日志:
核心功能,新增功能 一定要有日志,记录数据的出参入参。记录异常的时候,记录入参,方便定位问题。
4. 降级方案:
明确你的核心功能是什么?保证非核心功能异常,不影响核心功能。
5. 回顾代码
写完代码后,要自己整体捋一遍,看看是否有遗漏的点。开始想起来,为避免忘记,写TODO
6. 代码性能
考虑代码性能
7. 是否考虑了所有情况
8. 监控:
异常日志监控;新功能运行情况监控;流量变化监控
9. 测试:
1)单元测试
2)列出要考虑的情况
3)和测试同学讲清楚所有情况,认真参加测试用例评审。这个是自己平时忽略的,自己太懒了,一忙起来就不参加测试用例。多个人测,总比一个人测要强。
10. 简洁高效的代码,不要随心所欲的写
lambada表达式;设计模式等