• 代码反思


    最近一周出了两次线上事故,其中一次还处于封网期,最后无奈破网上线。问题都不大,但确实很恶心。反思自己写代码没有方法,于此做笔记。

    先写开发笔记,再具体开发。可以练习,养成习惯!

    1. 改代码是否对老的代码有影响:

       这个问题如果问我们,我们大多数人都知道,改老代码可能会影响原有功能,但真正做的时候可能就顺手就改了。改的时候,一定要多反思。本次的故障:longitude 单词原代码中拼错了,我做了改正,是我用的结果返回值正常。但忘记检查是否有其他地方使用这个错误的单词,结果导致故障。

    2. 临界条件的判断:

        临界条件一定要多注意:是否为空?是否为空集合?是否越界?本次出的故障:A 、 B 两个结果集的合集作为结果集返回,因为A结果集是重点,结果值关注的A结果集是否有结果,在A结果集没有结果的情况下返回空列表。结果导致,只有B结果集的是也返回空列表。

    3. 完善的日志:

        核心功能,新增功能 一定要有日志,记录数据的出参入参。记录异常的时候,记录入参,方便定位问题。

    4. 降级方案:

        明确你的核心功能是什么?保证非核心功能异常,不影响核心功能。

    5. 回顾代码

        写完代码后,要自己整体捋一遍,看看是否有遗漏的点。开始想起来,为避免忘记,写TODO

    6. 代码性能

        考虑代码性能

    7. 是否考虑了所有情况

    8. 监控:

       异常日志监控;新功能运行情况监控;流量变化监控

    9. 测试:

        1)单元测试

        2)列出要考虑的情况

        3)和测试同学讲清楚所有情况,认真参加测试用例评审。这个是自己平时忽略的,自己太懒了,一忙起来就不参加测试用例。多个人测,总比一个人测要强。

    10. 简洁高效的代码,不要随心所欲的写

         lambada表达式;设计模式等

       

  • 相关阅读:
    APK: 开机自启
    Android Button 三种监听方式
    unity 获取Project面板已选择资源的路径
    unity 自定义Project面板右键菜单
    unity Mathf.Atan2()
    unity/C# 通过反射调用对象的私有方法
    Unity WebGL 去除移动端的警告
    Unity Shader 序列帧动画
    Unity Shader 3种精度的数值类型
    Unity Shader Unity支持的语义
  • 原文地址:https://www.cnblogs.com/Jtianlin/p/14396611.html
Copyright © 2020-2023  润新知