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

这,矛盾,处处不在!

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、 。。。。。。

review代码,需要做些什么???的更多相关文章

  1. 1 初级.net web工程师,在工作中都做些什么

    初级.Net Web工程师,在工作中都做些神马?   职责 初级.Net Web工程师的主要职责,就是按比较详细的要求去完成代码. 比较详细的要求是指:一般会把页面式样.功能的描述.数据库结构.性能要 ...

  2. spring扩展点之三:Spring 的监听事件 ApplicationListener 和 ApplicationEvent 用法,在spring启动后做些事情

    <spring扩展点之三:Spring 的监听事件 ApplicationListener 和 ApplicationEvent 用法,在spring启动后做些事情> <服务网关zu ...

  3. 学java可以做些什么

    学java可以做些什么 对于很多新手来说,刚开始接触Java会很迷惘,不知道Java可以做什么.其实Java 可以做的东西太多了,手机游戏.中间件.软件.网站,电脑游戏,以及现在流行的安卓手机app等 ...

  4. WebVR大潮来袭时,前端开发能做些什么

    WebVR大潮来袭时,前端开发能做些什么?     WebVR即web + VR的体验方式,我们可以戴着头显享受沉浸式的网页,新的API标准让我们可以使用js语言来开发.本文将介绍如何快速开发一个We ...

  5. 曹工说Redis源码(7)-- redis server 的周期执行任务,到底要做些啥

    文章导航 Redis源码系列的初衷,是帮助我们更好地理解Redis,更懂Redis,而怎么才能懂,光看是不够的,建议跟着下面的这一篇,把环境搭建起来,后续可以自己阅读源码,或者跟着我这边一起阅读.由于 ...

  6. 这样Review代码牛逼啦!

    这样Review代码牛逼啦! 一个对项目负责的团队代码质量检查是必不可少的,有条件的团队经常有代码review习惯,这样可以使技术团队共同进步,但是一个庞大的工程做代码review其实是很麻烦的,所以 ...

  7. Vue 3.0 来了,我们该做些什么?

    靓仔路过,不要错过 想必 Vue3.0 发布这件事,大家都知道了. 我也是从朋友圈的转发得知此事,博客平台.公众号.朋友圈基本都有这么一条新闻,可见 Vue3.0 的被期待程度,因为 React 16 ...

  8. /proc/sysrq-trigger该文件能做些什么事情-转载

    /proc/sysrq-trigger该文件能做些什么事情呢? # 立即重新启动计算机 (Reboots the kernel without first unmounting file system ...

  9. Review 代码

    最近需要 Review 代码,学习了<代码整洁之道>.<代码质量>等书籍. 把对这些代码之道的学习心得整理成文

随机推荐

  1. qt 给父窗体设置样式不影响子控件样式以及子控件设置透明

    1.父窗体样式不生效? this->setAttribute(Qt::WA_StyledBackground); 2.父窗样式体影响子控件? this->setStyleSheet(&qu ...

  2. iTerm2 半透明颜色主题与字体配置

    下载iTerm2https://www.iterm2.com/ 安装. 下载这个主题https://raw.githubusercontent.com/mbadolato/iTerm2-Color-S ...

  3. while 循环 continue break 用法例子

    py2 temp = "理解" # utf- 8 #解码, 需要指定原来的是什么编码 temp_unicode = temp.decode("utf-8") # ...

  4. 软件构造实验二-拷贝一个c文件 将其中的关键字int替换成float

    1,新建 Parser Generator 点击project --> new 2,填写工程名字 随意取一个名字 点击OK 3,点击Project选项下的 parserwizard 分析器向导选 ...

  5. JDK8 新特性 Lambda表达式

    1.java8中Lambda表达式基础语法: (x,y) -> {} 左侧是一个小括号,里面是要实现的抽象方法的参数,有几个参数就写几个参数名,无参可写空括号,无需声明参数类型: 中间是一个jd ...

  6. elasticsearch sql插件配置(5.0及以上版本)

    github官方参考地址:https://github.com/NLPchina/elasticsearch-sql/ 采用 git + node 的方式,所以安装前需要先安装好node,node n ...

  7. 如何使用纯js实现一个带有灰色半透明背景的弹出框

    原文如何使用纯js实现一个带有灰色半透明背景的弹出框 // 加入透明背景 var body = document.body;var backgroundDiv = document.createEle ...

  8. CLR 虚方法调用和接口方法调用

    不知接口方法和虚方法分发有什么区别?似乎在CIL中都是callvirt指令. 对,MSIL里都是callvirt,但JIT的时候得到了不同的处理:对虚方法的分发是编译成这样: mov  ecx, es ...

  9. Oracle中shrink space命令

    shrink_clause:   http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_3001.htm#i2192484 ...

  10. mongodb and 和 or 查询

    db.getCollection('gxyWarnEntity').find({ "schoolId" : "f11c8ea12f457dbc19c768a8bb6357 ...