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、 。。。。。。
review代码,需要做些什么???的更多相关文章
- 1 初级.net web工程师,在工作中都做些什么
初级.Net Web工程师,在工作中都做些神马? 职责 初级.Net Web工程师的主要职责,就是按比较详细的要求去完成代码. 比较详细的要求是指:一般会把页面式样.功能的描述.数据库结构.性能要 ...
- spring扩展点之三:Spring 的监听事件 ApplicationListener 和 ApplicationEvent 用法,在spring启动后做些事情
<spring扩展点之三:Spring 的监听事件 ApplicationListener 和 ApplicationEvent 用法,在spring启动后做些事情> <服务网关zu ...
- 学java可以做些什么
学java可以做些什么 对于很多新手来说,刚开始接触Java会很迷惘,不知道Java可以做什么.其实Java 可以做的东西太多了,手机游戏.中间件.软件.网站,电脑游戏,以及现在流行的安卓手机app等 ...
- WebVR大潮来袭时,前端开发能做些什么
WebVR大潮来袭时,前端开发能做些什么? WebVR即web + VR的体验方式,我们可以戴着头显享受沉浸式的网页,新的API标准让我们可以使用js语言来开发.本文将介绍如何快速开发一个We ...
- 曹工说Redis源码(7)-- redis server 的周期执行任务,到底要做些啥
文章导航 Redis源码系列的初衷,是帮助我们更好地理解Redis,更懂Redis,而怎么才能懂,光看是不够的,建议跟着下面的这一篇,把环境搭建起来,后续可以自己阅读源码,或者跟着我这边一起阅读.由于 ...
- 这样Review代码牛逼啦!
这样Review代码牛逼啦! 一个对项目负责的团队代码质量检查是必不可少的,有条件的团队经常有代码review习惯,这样可以使技术团队共同进步,但是一个庞大的工程做代码review其实是很麻烦的,所以 ...
- Vue 3.0 来了,我们该做些什么?
靓仔路过,不要错过 想必 Vue3.0 发布这件事,大家都知道了. 我也是从朋友圈的转发得知此事,博客平台.公众号.朋友圈基本都有这么一条新闻,可见 Vue3.0 的被期待程度,因为 React 16 ...
- /proc/sysrq-trigger该文件能做些什么事情-转载
/proc/sysrq-trigger该文件能做些什么事情呢? # 立即重新启动计算机 (Reboots the kernel without first unmounting file system ...
- Review 代码
最近需要 Review 代码,学习了<代码整洁之道>.<代码质量>等书籍. 把对这些代码之道的学习心得整理成文
随机推荐
- redis系列(二):数据操作
1.string类型 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中 ...
- 线段树详解 (原理,实现与应用)(转载自:http://blog.csdn.net/zearot/article/details/48299459)
原文地址:http://blog.csdn.net/zearot/article/details/48299459(如有侵权,请联系博主,立即删除.) 线段树详解 By 岩之痕 目录: 一:综述 ...
- windows下去掉快捷方式图标的小箭头的几种方法
去掉快捷方式图标的小箭头的几种方法 第一种: 点开始菜单,点运行,输入以下命令后回车.即可解决 cmd /k reg delete "HKEY_CLASSES_ROOT\lnkfile&qu ...
- 【CF589 E】Another Filling the Grid
一个很套路的容斥裸题,这里记录一下scb 的切题过程 Description 有一个 \(n\times n\) 的矩阵,你需要往每格里填一个 \([1,k]\) 的整数,使得每一行.每一列的最小值都 ...
- getFieldDecorator用法(二)——封装表单模块
后台管理系统经常用到表单查询,因此做了个封装 myorder.js import React from 'react'; import { Card, Button, Table, Form, Sel ...
- JAVA基础知识|HTTP协议-两个特性
一.无连接 无连接:服务器与浏览器之间的一次连接只处理一个http请求,请求处理结束后,连接断开.下一次请求再重新建立连接. 然而随着互联网的发展,一台服务器同一时间处理的请求越来越多,如果依然采用原 ...
- CISCO实验记录十:switch基本配置
1.交换机IP配置 2.配置telnet 1.交换机IP配置 #interface vlan 1 #ip address 192.168.0.3 255.255.255.0 #no shutdown ...
- 求N个集合的并集
做容器放置实验时,需要计算下载N个Images的总size(Image之间可能会有可以共享的size). 一开始想到的是Images两两之间求交集,然后慢慢推到了容斥原理...时间复杂度大概就是O(N ...
- arcpy.UpdateCursor和arcpy.da.UpdateCursor计算面积时间的比较
arcpy.UpdateCursor ####################### import arcpy from arcpy import env import os import sys f ...
- 初中知识回顾tan,sin,cos关系
如果K=tan, sin 是X x=k/power(1+k*k,0.5) 开平方 cos是y y=1.0/power(1+k*k,0.5) 开平方 gisoracle总结 ============= ...