软件开发过程中的审查 (Review)

如何高效地做设计评审 设计评审(Design Review),即在真正开始开发之前,组织一次或多次会议,先评审设计,以降低日后返工甚至项目失败的风险。相信工作过一段时间,开始主导一个功能模块甚至整个系统的同学,都对设计评审不会陌生。今天偶然看到了一篇亚马逊VP及Distinguished工程师Brad Porter的一篇博客,讲述了设计评审容易陷入的问题以及他主张的一些最佳实践。也许并不适用于所有公司和项目组,但不妨一... 阅读详情

软件开发过程中的审查 (Review)



希望别人做些什么->定义出流程
希望别人做出正确的结果->定义出审查制度 
 
软件开发项目中包括很多的审查动作,贯穿于整个开发过程。个人认为审查主要有以下目的:
1.尽早排查出潜在的问题(Potential Risk/Issue)
  经过其他人的参与,以不同的视角提出不同的看法,会有类似头脑风暴的效果,集思广议来查找工程师未能注意的问题。
2.保持良好且有效的双向沟通
  很多时候沟通并不充分,总有许多以为明白,实际并不明白的情况。组织管理人员需要及时通过审查的方式,与开发人员进行有效的沟通。 同时,审查会使开发有更多的表达和相互沟通的机会,提高参与度,所以审查也可以提高开发人员的认同感和归属感。如果大家都能从审查中得到有效的指导和帮助,也会有助于提高审查效率。
3.通过以上两点,来达成最终正确的结果。
 
管理者需要对最终的结果负责,不能坐等问题发生,一定要先行加以预防,所以需要不断的进行审查。而组员通常对于所谓的审查会有一定的戒心,害怕批评或出丑,或者觉得没有必要,于是管理要确保在审查时做到对事不对人,并能针对问题提供有价值的指导。审查的对象是当前状态及产出,审查的目的在于确保最终的正确产出,审查的方式就是质询,而质询的基础就是审查制度。
 
审查制度可以很灵活,比如在项目开始定义出项目的角色及职责(ARCI矩阵), 然后针对不同的Milestones或任务设置检查点(Check point),重要的环节加以定义,使得审查有据可循。如针对Design Spec,我们需要宣布以下规则:
  1. Design Spec需要遵循公司统一规范。
  2. Design Spec中需要描述清楚Block diagram, Interface defintions等等。
  3. Design Spec什么时候提交给哪些人做审查。
  4. 什么时候举行Design Spec的审查会议,哪些人会参加,等等。
这是针对工程师而言的。Design Spec中的内容相应会有一个审查表(Check List)来进行审查,这就是规则。同样针对管理者也可以设定一个审查表,如:
  1. 必须向所有组员说明一次公司相关的文档规范。
  2. 必须定义清楚撰写及审查的时间安排,并向所有组员宣布,确保大家可以执行。
  3. 必须提供相应的审查记录。
 
对于需求分析、Functional Spec、代码管理、版本控制、发布控制、BUG管理及成本控制,都可以细化相应的动作,加以审查。审查对象包括项目中的各个角色。
 
总结一下,项目中审查制度的建立有以下步骤:
  1. 项目中角色及职责定义(R&R, Who)
  2. 定义审查点 (Check Point, When)
  3. 定义审查内容、范围及目标(Check List, What)
  4. 定义出审查人员 (Who)
 
*SMART原则是目标管理的重要参考法则,对于这个的审查制度有很强的指导性。
 
上面的审查制度是常态性的,另外还有一些突发状况需要由管理者适时判断审查的必要性。
 
如果突然遇到之前未能预估到的技术难题时,管理者必须特别为这个问题设定应急计划和一个更为紧凑的审查机制。比如在应急计划如下:
  1.召开会议,寻求资深工程师的帮助。[负责人及时间]
  2.安排其他人员支援。[负责人及时间]
  3.寻求第三方公司的支持。[负责人及时间]
  4.网络寻求解答。[负责人及时间]
  5.向相关人员报告细节问题,对于项目管理人员要考虑有无替代方案。[负责人及时间]
 
相应的审查一方面要针对每项进行,另外也要有一个统一个状态报告会议,以此来加强组织的有效性。当然这样的问题应及早被识别成风险或问题来加以预防,越少发生越好。
 
 
还有一种主动的自我审查方式。
 
无论对于管理者还是工程师,一定要清楚,你的主管、客户和老板,都需要知道你在做什么!及时的汇报是非常必要的,这也是一种主动的审查,它的效率更高。所以我们可以要求承担重点开发任务的人员周期性提交状态报告,将做过的事情、遇到的问题、后续的计划表列出来。其他人可以另作要求。管理者则应主动为其提供相应支持,这样就可以保持一个较为良性的互动。
 
审查之所以重要,是因为我们处在越来越讲求效率与生产力的环境,走越少的弯路,我们的企业才会更多的利润,员工才有更大的空间。这是管理者与工程师需要共同承担的责任。
*有点乱,先写到这,以后再完善!

Code Review GPT: 利用人工智能提升代码审查效率 Code Review GPT是一个开源项目,由Matt Carey开发并托管在GitHub上。它利用OpenAI的GPT-4或Sonnet 3.5等先进的语言模型,结合嵌入式技术,为代码审查提供智能化支持。该工具可以集成到GitHub、GitLab或Azure DevOps等常用的持续集成(CI)环境中,在开发人员提交代码变更时自动触发审查流程。 阅读详情

相关推荐

【知识整理】简述 Code Review - 代码审查

这种场景,其实是一次性囤的代码太多导致的,很多同学觉得,我应该把一个功能完整的开发完毕,再提上去,大家才知道我在写什么,但是实际上,coding 是个循序渐进的过程,建议日常开发的同学控制 commit 粒度,尽可能保证每天提交,以及尽可能写好 commit message,还有就是 commit 跟卡片做好关联,也有助于 reviewer 能更好的理解你的意图。作为一个认真负责的你,当然是满口答应,准备点进去看看,过了一秒钟打开GIT网页,发现 365 个文件变更,此时求你的心里阴影面积。

李木 3247

review

1)首先什么是review? 定义:review是对软件开发设计工程中中间结果进行检查,评审的特定活动。 2)review的对象 软件开发过程中的阶段成果: (1)基本设计书 (2)功能设计书 (3)详细设计书 (4)源程序   (5)测试设计书 3)review的目的:    (1)确认软件开发上工程各阶段得到的输出成果; (2)把握当前工程及Project的进展状况;

少年颜子的博客 1717

从零开始Code Review

从零开始Code Review这篇帖子不是介绍Code Review的方法论, 而是记录了我们团队怎么从没有这个习惯到每天都进行review的过程. 希望能对诸位的团队有所帮助. 最初来到这个新组建的团队是木有code review的. 头说, 这个月你来搞吧.当我第一次知道必须得搞review的时候, 其实我是拒绝的! 因为我觉得…呀…你不能叫我马上搞立马搞, 第一,

晓月的专栏 2万+

软件测试之项目立项与需求评审

实际中项目立项相关事宜 介绍项目情况,目前立项阶段情况,项目市场预估,项目时间讨论 资源情况:需要人力,物力,技术,工具,一般使用的开发语言,工具,测试工具,在系统运行中需要的工具 部门情况:参与的部门,主要负责人,部门只要职责,后期主要工作内容 与项目相关的文件:指示文件,技术文件,项目介绍文件等 项目里程碑:开发开始结束时间,测试开始结束时间,发布时间,详细可能会有分期时间等 二.小程序项目立项会议 项目介绍:项目简介文档 测试团...

测试-八戒 1万+

信息系统上线的安全管理规范和流程

因此,信息系统上线的安全管理至关重要,需要严格遵守一定的规范和流程,以确保系统的安全性和稳定性。系统上线后,可能会出现各种问题,如系统故障、性能下降、安全事件等。一般来说,问题处理的步骤包括问题的识别、分类、分析、解决和反馈。同时,也需要制定详细的数据恢复计划,以便在发生数据丢失时,能够及时恢复数据。系统上线后,需要对系统进行持续的监控。这包括配置生产环境、准备上线所需的资源、进行系统上线前的最后测试等。需要对系统进行持续的监控和维护,确保系统的稳定运行。系统上线后,需要进行持续的安全监控。

网络技术联盟站 2308

LabVIEW实战:基于DAQmx的实时正弦波生成、采集与波形图动态显示

本文详细介绍了如何使用LabVIEW和DAQmx驱动实现实时正弦波的生成、采集与动态显示。通过USB-6008数据采集卡,结合队列缓冲机制和动态波形图显示技术,构建了一个完整的信号处理系统。文章包含硬件连接、软件配置、任务设置及常见问题排查,适合LabVIEW初学者和硬件控制开发者参考。

weixin_30872337的博客 124

如何在python脚本开发做code review

在软件项目开发中,我们经常提到一个词“code review”。code review中文翻译过来就是代码评审或复查,简而言之就是编码完成后由其他人通过阅读代码来检查代码的质量(可编译、可运行、可读、可维护、可复用),这些性质都比较抽象,但是一般都可以通过以下的检查点来实现: 检查代码的命名方式是否符合规范,代码的可读和可维护必须要求所有参与编码的同事使用的命名有统一的规范(注意每个人有自己...

weixin_34060299的博客 593

MAX96712在车载摄像头系统中的带宽分配与传输能力计算解析

在计算摄像头带宽与传输接口的关系时,需要考虑视频流的像素分辨率、帧率、颜色深度等因素。以 MAX96712 这种 GMSL2 产品为例,它支持每个链路在正向方向以 3Gbps 或 6Gbps 的固定速率工作。

weixin_43199439的博客 3324

《代码大全》:review与inspection

  第21章Collaborative Construction(协同构建)谈到了review和inspection,读起来很有共鸣,让我回想去过去在公司兼职的一段美好时光。  在公司里,项目的代码是共有的,对我们这些兼职学生也不例外。每天上班第一件事,就是update一下,从depot取回最新的code base(我们管这叫sync,这是我们的版本控制软件的命令)。然后每次check in之

软件开发资料汇总 245

别再死记硬背了!用LabVIEW串口通信的3个真实项目案例,手把手教你从调试到部署

本文通过3个真实项目案例,详细讲解LabVIEW串口通信从调试到部署的全过程。涵盖Arduino温湿度监控、西门子PLC Modbus通信以及高可靠性通信框架设计,提供实用技巧和常见问题解决方案,帮助工程师快速掌握LabVIEW串口通信的实战应用。

weixin_30485379的博客 523

PTA 7-8 暴力小学(二年级篇)-求出4个数字 (10分)java

PTA 7-8 暴力小学(二年级篇)-求出4个数字 (10分)java 小博是新城小学二年级学生,这孩子人很老实,数学、语文成绩都是中等。不过一旦坐在电脑前,写起代码来,则有些霸气侧漏,尤其擅长各种暴力方法。本题就是数学莫老师的题目之一,请你和小博一起暴力求解吧。 输入格式: 第一行给出这个和N(图中例子的和N为2000)。 输出格式: 第一行输出所有解的数目K,随后K行按照DCBA 4位数字从...

qryzhfj的博客 2187

笨办法提高代码质量

软件中的大多Bug都与各种低级错误有关,而大多低级错误是靠测试测不出来的,更多的需要Code Review来发现问题。 培养好的习惯,不靠任何假设编程,可以先从写好每个函数开始,我想用注释驱动来提醒自己经常Review每个函数。 以下是我拟定的Code Review Comments: /* ### Code Review * ### Reviewer: wawa * #

专栏 575

单片机笔记十二:华大HC32L136超低功耗设计实战

本文详细介绍了华大HC32L136单片机的超低功耗设计实战,包括深度睡眠模式下仅0.5μA的电流消耗、五种功耗模式的对比与配置、外设使用技巧及硬件级优化方法。通过实际项目案例,展示了如何利用ARM Cortex-M0+内核的HC32L136显著延长电池寿命,适用于智能门锁、额温枪等低功耗设备。

weixin_29189373的博客 393

如何做好代码审查?Code Review Meeting还是Single Review

Code Review是提高开发团队技能以及保持团队迭代更新最佳的实践方法,也是代码质量管理中一个非常有效的方法。什么?你不知道什么是Code Review?Code Review中文译作“代码审查”或是“代码评审”,这是一个流程,当开发人员写好代码后,需要让别人来review一下他的代码,我们可以审查代码的风格、逻辑、思路……,找出问题,以及改进代码。因为这是代码刚刚出炉的时候,所以,这也是代码重

不止思考 7937

避坑指南:雅特力AT32F403A在Keil5中的V2库配置常见问题解析

本文详细解析了国产MCU雅特力AT32F403A在Keil5中配置V2库的常见问题,包括工程创建、库文件配置、编译错误和外设设置等关键环节。针对项目文件夹结构混乱、芯片型号选择错误、头文件路径设置不当等典型问题提供实用解决方案,帮助开发者高效避坑,提升开发效率。

weixin_30335575的博客 375

微信小程序报错:“errno“:600001,“errMsg“:“uploadFile:fail errcode:-105 cronet_error_code:-105 error_msg:net::

uploadFile:fail errcode:-105 cronet_error_code:-105 error_msg:net::ERR_NAME_NOT_RESOLVED,uniApp微信小程序使用uni.uploadFile出现报错,微信小程序如何解决wx.uploadFile报错,如何解决这个问题,微信小程序真机报错,微信小程序报错"errno":600001,"errMsg":"uploadFile:fail errcode:-105 cronet_error_code:-105 error_m

✅ 精选推荐文章 3826

【软件工程】从混乱到秩序:Code-Review代码审查助力代码质量飞跃

从混乱到秩序:Code-Review代码审查助力代码质量飞跃

gg310773517的博客 1811

Unity之Hololens2开发MRTK Profile详解

配置 MRTK 的主要方式之一是使用基础包中的配置文件。场景中的主要对象具有活动配置文件 - 一个 ScriptableObject。顶级 MRTK 配置配置文件包含主核心系统的每个核心的子配置文件数据,每个主核心系统都旨在配置其相应子系统的行为。此外,这些子配置文件也是 ScriptableObjects,因此可以包含对低它们一级的其他配置文件对象的引用。实质上,有一个包含已连接配置文件的完整树,这些配置文件构成了如何初始化 MRTK 子系统和功能的配置信息。

TxNet 1033

代码审查-Code Review

总结经验定期总结代码审查过程中发现的常见问题和改进措施,提炼出项目的经验教训。提供反馈对于作者,提供正面的反馈和鼓励,帮助其提升编程水平;对于审查者,鼓励其积极参与代码审查,提高审查质量。

zxy98的专栏 1423

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

什么是代码审查(Code Review)?它有什么好处?

代码审查是一种集体评估代码质量的活动,旨在发现代码中的错误、改进编程实践、分享知识和提升代码质量。这一过程通常包括以下几个步骤:1. 准备阶段:确定要审查的代码段、设定审查目标、选择审查团队成员以及确定审查时间。2. 审查阶段:团队成员仔细阅读代码,查找可能存在的错误、性能问题、安全漏洞等,并记录下审查意见和建议。3. 讨论阶段:团队成员针对审查结果进行讨论,共同商讨解决方案,确保问题得到妥善解决。4. 修正阶段:根据讨论结果,开发者对代码进行修正和优化,确保代码质量得到提升。

weixin_41147796的博客 3182

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Code Review是什么?怎么进行代码审查?

哈喽大家好,我是chowley,最近看了不少代码审查方面的文章,今天我来总结一下!代码审查是软件开发中非常重要的一环,通过团队合作和反馈,有助于提高代码质量、减少错误,并促使团队不断改进。好了,以上就是本文的全部内容,是否对你有所帮助呢?或者你还想了解哪些内容,欢迎留言!我是chowley,一个专注互联网技术和软件质量保证领域的博主,我们下次再见!

chowley的博客 1430

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 团队管理的思考:定位
下一篇: bamboo 欢迎使用优快云-markdown编辑器
bamboolsu
博客等级 码龄22年 200粉丝 394原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值