首页 > 编程语言 >程序员的三门课

程序员的三门课

时间:2023-03-11 22:34:17浏览次数:34  
标签:审查 三门 是否 代码 程序员 清单 可以

《程序员的三门课》

第一篇——程序员技能与成长

code review

好处

  1. 提升团队代码质量
  2. 找出潜在 bug
  3. 保证代码风格统一
  4. 成员相互学习
    1. 编码习惯
    2. 设计模式
    3. 好用的 API
    4. 更加了解系统和业务

代码审查的好处不仅仅是代码审查本身,而是在于审查过程中产生的思考以及思考之间的碰撞。

如何做

要有审查清单

代码审查是可以标准化和流程化的。审查清单可以为代码审查提供一个标准,对着清单逐一检查,不仅可以在集中审查时快速找到问题,也可以方便开发者在开发阶段就可以照着清单自查。

审查清单的主要内容。

  1. 代码结构:
    1. 是否包含超长代码
    2. 代码嵌套是否过深
    3. 函数入参是否过多
    4. 循环是否有跳出点
    5. 是否存在代码复制
    6. 逻辑分支是否完善
  2. 代码安全性:
    1. I/O 是否正常关闭
    2. 资金计算是否使用 Double
    3. 是否有超大的临时对象
    4. 线程池大小是否合理
    5. 异常是否被忽略
    6. 是否有详细的日志
    7. 是否存在并发问题
    8. 参数是否做了必要的校验
    9. 远程服务的入参出参是否支持序列化
    10. 应用是否依赖了 SNAPSHOT 版本的类库
    11. 做删除时是否做了必要的权限或者合法性校验
  3. 代码性能:
    1. 是否有超长的 SQL
    2. SQL 是否有用到索引
    3. 是否有成熟的类库可以替换自己的实现
    4. 是否可以考虑单例模式
    5. 是否可以考虑线程池
    6. 是否可以考虑 NIO
    7. 是否可以进行锁优化
  4. 代码注释:
    1. 类和方法是否有注释
    2. 注释是否可以表达其准确含义
    3. 是否存在 FIXME,TODO 等注释
    4. 注释中是否包含边界值以及对异常情况的说明
  5. 单元测试:
    1. 代码是否具有可测试性
    2. 新代码是否有单元测试
    3. 单元测试是否可以覆盖所有场景
  6. 代码优化:
    1. 是否可以使用枚举代替自定义变量
    2. 是否包含魔法值
    3. 是否可以使用 Optional 代替 NPE 检查
    4. 是否可以使用 Stream 代码 for 循环
    5. 是否可以使用设计模式
  7. 其他:
    1. 代码逻辑是否正确
    2. 是否实现了业务功能
    3. 代码是否有好的可读性及可测试性

相对应得,可以针对前端设计一些对应的审查清单

标签:审查,三门,是否,代码,程序员,清单,可以
From: https://www.cnblogs.com/xiawanxw/p/17207198.html

相关文章

  • 耦合与解耦:IT程序员解析
    耦合:在软件工程中,对象之间的耦合度就是对象之间的依赖性。对象之间的耦合越高,维护成本越高,因此对象的设计应使类和构件之间的耦合最小。耦合的分类:有软硬件之间的耦合,还有......
  • #yyds干货盘点# LeetCode程序员面试金典: 计算器
    1.题目:给定一个包含正整数、加(+)、减(-)、乘(*)、除(/)的算数表达式(括号除外),计算其结果。表达式仅包含非负整数,+,-,*,/四种运算符和空格 。整数除法仅保留整数部分。......
  • 推荐收藏!10大程序员必备生产力工具
    作为程序员,提高生产力是我们一直追求的目标。随着技术的发展,越来越多的工具和应用程序被开发出来,帮助程序员们更好地完成工作。在本文中,我将介绍一些程序员必备的生产力工......
  • 程序员推荐!JetBrains IDEs使用技巧与必备插件
    JetBrains是耳熟能详的软件开发工具提供商,旗下的IDE集成开发环境被广泛应用于不同的开发领域。本文将向新手介绍JetBrainsIDEs的基本知识和常用功能。什么是JetBrainsID......
  • 程序员多赚20k的接私活必备网站
    程序员多赚20k的接私活必备网站2023-02-2812:38·程序员客栈为什么都是程序员,就有人能多赚20k?那是因为副业搞得那么溜啊!今天分享一些程序员搞钱必备的接私活网站,让更多......
  • chatgpt回答了几个关于程序员的段子
    1.一个程序员被问到什么是压缩,他回答:“就是将10个字符压缩成9个字符。”2.为什么程序员总是把自己当作0和1?因为他们觉得自己是二进制最好的。3.什么是程序员最喜欢......
  • 60% 程序员大呼:我要远程办公!
    近几年数字化的普及,白领们从挤地铁、打卡、开会、写日报转变成“早上9点视频会议”,企业的办公场所也从写字楼、会议室、工位变成了手机、电脑中的线上会议室,远程办公已经成......
  • 为什么99%的程序员都做不好SQL优化?
    连接层最上层是一些客户端和链接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安......
  • 为什么99%的程序员都做不好SQL优化?
    连接层最上层是一些客户端和链接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安......
  • 如果今天没有API接口,今天的程序员如何编程?
    这是一个非常有意思的问题,作为一名从业多年的程序员,我来回答一下这个问题。首先,接口是程序设计过程中最为常见的元素,不论是研发级程序员还是应用级程序员,在日常的编程过程中......