code review 20190705
命名规范:
- 做了什么?
- 目的是什么?
- 在什么基础上进行?
- 注释说明
- sql update,where 先行?????
警告:
- 清空所有警告:所有隐藏比较深入的bug,都是由警告带来的
- + 忽略警告
枚举:
- Enum重复定义 vs 服务里单独定义:微服务中的依赖问题、领域范围外Enum的枚举
method:
- no response:异常 or 正常,来判断是否正常
- interface method 注释:
- 团队配合
- 异常说明
- 面向接口编程!!!!
- 庞大数据
- 分批处理
- 瓶颈问题
- 硬件限制:内存
- yield return :状态机,返回庞大数据?????
- 返回使用IEnumerable,而非 list:内存占用
- 禁用对象映射
- 线程、异步
- 状态机的优势:取出、输出到管道;内存占用小
- 大数据的处理
- 迭代的处理
- 分块、多次
- 管道、流输入/输出
- 迭代的处理
- log:
- 多process的情况下,同一个input 使用同一个new guid,便于日志追踪
- 修改nlog的输出格式:定位bug位置
- 多记日志
- 条件判断
- 一个process
- 关键节点、
- 关键信息
- foreach:
- 查询效率:dictionary
- 嵌套层数:影响可读性
- 异常
- 区分:是否throw跳出 or jump继续执行
- 尤其foreach中
- 异步:
- 独立的调度工厂
- upwarp().conigureAwait(false).getawait().getresult()
- 日志信息
- 关键信息追踪
- 数据异常 vs 程序异常
- 区分:是否throw跳出 or jump继续执行
code review 20190705的更多相关文章
- 我们是怎么做Code Review的
前几天看了<Code Review 程序员的寄望与哀伤>,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享.探讨.我们为什么要推行Code ...
- Code Review 程序员的寄望与哀伤
一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测 ...
- Git和Code Review流程
Code Review流程1.根据开发任务,建立git分支, 分支名称模式为feature/任务名,比如关于API相关的一项任务,建立分支feature/api.git checkout -b fea ...
- 如何搭建开源code review gerrit服务器
搭建环境:Ubuntu 14.04 一.环境准备 1.Java环境 gerrit依赖,用于安装gerrit环境. 下载:jdk-7u79-linux-x64.tar.gz http://www.ora ...
- Code Review Tools
Code Review中文应该译作“代码审查”或是“代码评审”,这是一个流程,当开发人员写好代码后,需要让别人来review一下他的代码,这是一种有效发现BUG的方法.由此,我们可以审查代码的风格.逻 ...
- code review作业
下面是对结对编程队友12061166 宋天舒的code review 五个优点: 1.代码的风格优秀,注释不多,但是必要的注释还是有的,比如: // 三种模式 // mode1仅统计单个单词 // m ...
- 15个最佳的代码评审(Code Review)工具
代码评审可以被看作是计算机源代码的测试,它的目的是查找和修复引入到开发阶段的应用程序的错误,提高软件的整体素质和开发者的技能.代码审查程序以各种形式,如结对编程,代码抽查等.在这个列表中,我们编制了1 ...
- Code Review 五问五答
Code Review 是什么? Code Review即代码审查,程序猿相互审核对方的代码. Code Review能获得什么好处? 提高代码可维护性 你写的代码不再只有编译器看了,你得写出审核人能 ...
- 大家是怎么做Code Review的?
先说说我们公司现在的做法,一个团队被人为地分为两个阵营:Senior Developers和Junior Developers,比例差不多是1:1,Senior Developers就担负着对Juni ...
随机推荐
- Server SAN
http://blog.sina.com.cn/s/blog_5946bd590102veni.html http://blog.sina.com.cn/s/blog_5946bd590102vemm ...
- Vs2017 NetCode Mvc EF Mysql 整合1
1 运行环境 vs2017 NetCode2.0 2 NuGet MySql.Data.EntityFrameworkCore 8.0.18 3 源代码 https://github.c ...
- NLP传统基础(3)---潜在语义分析LSA主题模型---SVD得到降维矩阵
https://www.jianshu.com/p/9fe0a7004560 一.简单介绍 LSA和传统向量空间模型(vector space model)一样使用向量来表示词(terms)和文档(d ...
- 能用的单纯形法python代码
网上找了一些代码,发现有一些是不能用的,出现错误说集合为空 1.网上出现了好多次,但是不能用的,只能部分模型能用,比如例子中所示 原链接:https://www.jianshu.com/p/b233c ...
- tycho 打包编译报错 Access restriction: The type XYZ is not API
解决办法: 在pom.xml中加入以下配置 <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId ...
- 通过AOP拦截打印日志,出入参数
import java.lang.reflect.Modifier; import javassist.ClassClassPath; import javassist.ClassPool; impo ...
- 【安卓基础】WebView开发优化基础
最近工作很忙,不仅要抽空进行管理,还有开发任务在身,幸好有一些规划进行指导,所以还能顺利解决问题.在管理和技术上面,我认为技术是硬实力,管理是软实力,自己需要多点时间花在技术上. 回归正题,在项目中的 ...
- 005_linux驱动之_class_device_create函数
(一)解析class_device_create函数 (二)当我们使用class_create创建一个类之后我们就可以使用class_device_create函数在这个类下面创建一个设备了,cl ...
- MyBatisPLus入门项目实战各教程目录汇总
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/37194 http://www.imooc.com/article/details/id/ ...
- Python中greenlet和gevent使用示例
目录 greenlet示例 示例1,线程切换 示例2 gevent 示例1 示例2: gevent使用monkey对所有系统自带的IO操作打patch 示例3,发送请求 示例4:使用gevent的so ...