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 ...
随机推荐
- 清除keil编译中间文件的脚本
清除keil编译生成的中间文件,减小项目体积. keykill.bat del *.bak /s del *.ddk /s del *.edk /s del *.lst /s del *.lnp /s ...
- Linux行编辑器——ed
实验文件test.txt内容 root:x:::root:/root:/bin/bash bin:x:::bin:/bin:/sbin/nologin daemon:x:::daemon:/sbin: ...
- ping加上时间信息
一.linux系统ping加时间戳信息 1.ping 加时间信息,然后还要实时保存到一个文件中,那么就与awk结合 ping 115.239.211.112 -c 10 | awk '{ print ...
- Python 编码encode()、 解码decode()问题
乱码这种东西,时不时出现.本来开开心心想着我要学习啦,然后兴高采烈打开了比火星文还火星文的字符-- 没事,我可以搞定这堆鬼画符. 先来讲一下为什么有乱码这种东西的存在 故事是这样滴: 字符串是Pyth ...
- Oracle查看数据占用的空间和数据文件实际空间的信息
可以使用如下sql: select 'bgdrac' database,t11.username,t11.default_tablespace tablespace_name,segment_size ...
- charles设置截图及常见问题汇总
常见问题: 1.手机配置charles代理后,手机无法上网,无法访问chls.pro/ssl,解决办法:关闭电脑防火墙: 关闭后即可上网. 2.设置代理请求,charles看不到任何请求,解决办法:p ...
- Spring Bean装配(上)
Bean:在spring的IOC里面,把配置到IOC容器里面的实体或者是对象都称为Bean Bean配置项 Bean的作用域 Bean的生命周期 Bean的自动装配 Resources&Res ...
- Nginx中ngx_http_auth_basic_moudel和ngx_http_stub_status_module模块
ngx_http_auth_basic_module实现基于⽤用户的访问控制,使⽤用basic机制进⾏行行⽤用户认证指令:5.1 auth_basicSyntax: auth_basic string ...
- Dapper+Mysql 使用LIKE模糊查询写法踩坑
LIKE '%@Title%' 会解析成'%'@Title'%' 这里用拼接也是不行的'%'+@Title+'%' 只能用MySQL函数方法拼接 public dynamic GetListByFil ...
- 25-SQLServer中的DMV和DMF的使用
一.总结 1.什么事DMV和DMFDMV(Dynamic Management View):动态管理视图DMF(Dynamic Management Function):动态管理函数 二.操作步骤 1 ...