码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 如何做代码评审(code review)


    1. 定义

    Code Review 即日常所说的代码评审或代码回顾,主要是在软件开发的过程中,对功能源代码进行评审,其目的是找出并修正软件开发过程中出现的错误的过程,提高和改进代码质量的过程。

    2. 目的

    2.1 提前发现缺陷
    code review 能够一定程度上提前发现代码中存在的bug和潜在的性能问题,降低线上故障率。

    2.2 寻求改进的解决方案
    code review能够检查开发者代码是否符合开发规范,逻辑是否清晰,代码组织是否合理,帮助其改善代码设计和解决方案。对问题进行记录,事后跟踪闭环,并形成经验总结,避免后续出现同样的问题。

    2.3 团队互动与学习
    增强团队成员之间沟通,学习他人良好的代码设计方案,提升专业技能。

    2.4 不断改进code base的健康度
    始终保证随着时间的推移,公司代码越来越健康

    2.5 人员备份
    code review能够让评审人员及参与人员大致的理解所修改代码的含义,熟悉这块业务代码,在特定时间能够有人做backup。

    3. 前提

    1 change log 备注明确,见参考文档[4]
    2 git commit 备注信息要明确,每个commit代码尽量独立
    3 开发人员清晰表达实现方案、逻辑和改进点

    4. 关注点

    1 合理的设计
    2 功能正常
    3 复杂度,防止过度设计
    4 适当的单元测试
    5 命名的规范性
    6 注释的必要性
    7 代码风格是否符合现有规范
    … …

    5. 形式

    1 Team Review,团队review
    2 Peer Review,同伴review

    6. 工具

    工具方式
    githubpull request
    gitlabmerge request
    giteemerge request

    7 最佳实践

    1 轻量级的code review
    2 最好有一定的规范,而非标准
    3 从开发者角度思考问题,评论要写清楚原因和给予指导
    4 提出的是建议,非强制修改

    参考文档

    1 https://google.github.io/eng-practices/
    2 https://google.github.io/eng-practices/review/reviewer/
    3 https://xindoo.github.io/eng-practices-cn/review/reviewer/
    4 https://google.github.io/eng-practices/review/developer/cl-descriptions.html

  • 相关阅读:
    matplotlib数据可视化
    Android应用自启动保活手段与安全现状分析
    【力扣周赛】第 367 场周赛(⭐二维数组当成一维数组,前后缀分解)
    图论04-【无权无向】-图的广度优先遍历
    抖音返利小程序功能开发介绍
    在编程Python的时候发生ModuleNotFoundError: No module named distutils报错怎么办
    如何准确且可解释地评估大模型量化效果?
    bp神经网络适合小样本吗,BP神经网络参考文献
    【前端源码解析】AST 抽象语法树
    2140. 解决智力问题;1401. 圆和矩形是否有重叠;901. 股票价格跨度
  • 原文地址:https://blog.csdn.net/cjqh_hao/article/details/126551233
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号