zoukankan      html  css  js  c++  java
  • review代码,需要做些什么???

    有一种习惯,叫看代码找问题;有另一种习惯,叫不看代码很不习惯。

    这,矛盾,处处不在!

    review代码(code diff升级)到底可以做些什么?该做些什么?

    1、整体代码风格是否贴切已有框架的设计风格

      一个系统本有一套体系,你就不按这个走?前人踏过无数的坑,你就要去踩?

    2、注释

      别人问,这定义的什么?回答:忘了

      别人问,这个是干嘛的?回答:忘了

      !!!!!!

    3、入参的定义,出参定义(特别是枚举)

      考虑某个入参是否以前已有定义?是否其他系统已有定义?是否数据库已有定义?

      本部门内各系统,同一含义的参数最好(应该强制)都统一,不然系统与系统之间交互要转来转去,与数据库交互要转来转去。

    4、日志打印

      a、前端入参、或接受其他系统调用的入参必须打印;

      b、调用依赖服务入参、出参必须打印;

      c、捕获的未处理异常堆栈信息必须打印;

      d、捕获的处理异常打印的信息必须明确问题所在;

      e、日志级别得明确

    5、异常处理

      a、异常类型定义必须明确,不能一股脑抛系统异常;

      b、调用第三方服务,最好单独包一层try catch(不单单是整个外部方法的异常捕获);

      c、。。。。。。

    6、埋点统计

      我要用户访问量!

      我要异常访问量!

      我要今天多少用户干嘛干嘛的量!

    7、报警机制

      调用第三方出问题了,自己不知道;

      别人要服务大概响应时间,自己不知道;

      自己服务有问题了,自己不知道;

      多么尴尬的事!

    8、业务实现

      a、了解清楚需求了吗?

      b、这设计方案讲得通吗?

      c、依赖服务文档看没?

      d、联调过没?交互流数据确定过没?

      e、在什么环境联调?本地也叫联调?

      f、表设计合理?索引创建合理?

      g、增删改sql没问题?

      h、简单的参数check完善?

      i、完全信赖别人的传入?

      j、穿插的不是很重要的消息推送做了无伤大雅处理?

      k、能异步处理的开了新线程?开的新线程有效?

      l、 。。。。。。

  • 相关阅读:
    Linux下查看Nginx安装目录、版本号信息及当前运行的配置文件
    UUID.randomUUID()简单介绍
    从jscript脚本混淆说起
    python requests高级耍法
    python sanic中文参考资料
    python grequests和requests比较
    使用aiohttp的一个小例子
    redis加入到Windows系统服务
    aiohttp/asyncio测试代理是否可用
    Charles安装
  • 原文地址:https://www.cnblogs.com/fqfanqi/p/11062186.html
Copyright © 2011-2022 走看看