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 ...
随机推荐
- 【Flask+Redis】 python学习第一章 - 7.0 断言 数据库测试 redis学习
assert 断言 def div(num1, num2): # 断言 assert isinstance(num1, int), "值类型错误" assert isinstanc ...
- cmake升级3.6
https://blog.csdn.net/u013714645/article/details/77002555 ./boostrap gmake gmake install
- MySQL之profiling性能分析(在5.6.14版本被丢弃)
官方建议使用information_schema.profiling. 原因是show profile 输出了查询执行的每个步骤及其花费的时间,但是结果很难快速确定哪个步骤花费的时间最多,因为输出是按 ...
- vue2 父子组件数据更改
父级以对象的形式传递数据给子级,子级更改此数据时,父级同步更改
- mysql基础篇--库的管理
库的创建 create database [if not exists] 库名; 库的修改 alter database 库名 character set 字符集; #更改库的字符集 库的删除 dro ...
- hibernate配置和映射文件
映射文件 <?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping ...
- Sort a list(tuple,dict)
FROM:https://www.pythoncentral.io/how-to-sort-python-dictionaries-by-key-or-value/ AND https://www.p ...
- centos 7.3 开放端口并对外开放
查看已打开的端口 # netstat -anp 查看想开的端口是否已开 # firewall-cmd --query-port=666/tcp 若此提示 FirewallD is not runnin ...
- WeakReference 弱引用
弱引用是使用WeakReference类创建的.因为对象可能在任意时刻被回收,所以在引用该对象前必须确认它存在. class MainEntryPoint { static void Main() { ...
- PageHelper使用中出现的问题
PageHelper在分页查询的时候功能强大,内部使用拦截器实现.这边文章做了详细的介绍. https://www.cnblogs.com/ljdblog/p/6725094.html https:/ ...