精华内容
下载资源
问答
  • 代码检查与代码走查
    2018-12-28 15:05:00

    代码检查与代码走查是基于人工测试的白盒测试方法。
    目的:找出错误,而不是改正错误,是测试而不是调试。
    优点:能够精确地定位的错误,降低调试成本。
    可以成批的发现错误,而计算机测试往往是逐个发现错误并改正。

    注意:代码检查、代码走查、基于计算机的测试三者是互补的

    代码检查:以组为单位阅读代码,是一系列规程和错误检查技术的集合。
    代码检查小组由小组主导者、代码编写者、设计人员、测试专家组成。
    代码编写者组逐条语句讲解程序的逻辑结构,小组参考代码检查错误列表分析程序。
    代码检查错误列表有:数据引用错误、数据声明错误、运算错误、比较错误、控制流错误、接口错误、输入/输出错误、其他错误。

    代码走查的概念和代码检查的概念相似,但是代码走查小组中指定的测试人员会携带书面的测试用例来参加会议。
    这些测试用例必须是结果简单数量少,在代码走查过程中,这是测试用例并不起到关键性作用,测试用例在小组成员脑袋中推演的过程,很多问题是在向程序员提问的过程中发现的,而不是有测试用例本身发现的。

    桌面检查是由单人进行的代码检查或代码走查,效率低,但是比没有检查好。

    转载于:https://www.cnblogs.com/huangxiaoj/p/10190649.html

    更多相关内容
  • 代码走查有几个目的,第一个是让新同学快速熟悉代码并了解系统。第二个是做咨询防控的事前检查,避免引发线上故障。第三个是通过一起讨论和审查,加强团队代码阅读和编写能力 目的 代码走查有几个目的,第一个是让新...
  • 目的代码走查的好处非常多,第一个是让新同学快速熟悉代码并了解系统。第二个是做资损防控的事前检查,在事前规避引发线上故障。第三个是通过一起讨论和审查,加强团队代码阅读和编写能力,让大家编写出优秀的代码。...

    目的

    代码走查的好处非常多,第一个是让新同学快速熟悉代码并了解系统。第二个是做资损防控的事前检查,在事前规避引发线上故障。第三个是通过一起讨论和审查,加强团队代码阅读和编写能力,让大家编写出优秀的代码。代码走查的优点非常多,但是最核心的还是希望通过代码走查提前发现问题并解决问题。

    所以基于以上目的,代码走查不是为了找到代码写的差的程序员加以批评,不是为了找到差的代码,而是一起发现问题共同成长,所以对于写代码的同学不需要过于紧张,但是在代码走查前自己可以先看一次优化一遍,不过所有的变更必须有单元测试覆盖,否则为了优化代码又会引发新的问题。

    什么场景应该做代码走查?

    我认为有几个时机点是需要做代码走查的,第一个是定期,每几个月定期做一次代码走查。第二个是有重大变更时做代码走查,如代码第一次上线或增加了比较多的代码。

    如何进行代码走查

    代码走查的角色

    主持人:负责主持整个走查活动,包括会议邀约和控制时间(一般一小时左右)进度。为了让代码走查高效,需要及时阻止不必要的讨论,比如讲解人讲的太发散、或者大家针对一个点讨论时间过长。

    讲解人:负责对代码进行讲解并跟进修改计划,一般是系统Owner或代码编写者。

    记录人:记录代码走查记录,记录中包括代码走查中发现的问题点、修复方法和最佳实践,问题需要指定到对应的人。

    评审人:对代码进行评审发现问题并找出最佳实践,一般是资深开发和测试同学。

    参与人:参加代码走查,主要以学习为主。

    走查前做好充分准备

    讲解人整理本次要走读的代码分支、系分设计和代码入口,然后发邮件通知大家,参加代码走查的人提前阅读系分和代码,针对看不懂的代码、有问题的代码和设计复杂的代码全部提交Review记录。

    讲解人必须想好走查哪些代码,一般是主流程或有问题的点,控制整个代码走查的时间,我们第一次代码走查花了三个多小时,由于时间太长,走查的过程中开发都走了几个。

    走查中控制节奏

    直接讲代码很多没参与的同学会很晕,所以先大致讲下系分设计,不需要全部讲完设计再讲代码,而是讲一部分设计,再讲一部分代码。讲解人带着大家一行一行读代码,讲解代码的含义和思考,记录人负责记录Review出的问题和最佳实践。

    代码走查的评判标准,主要关注几个点

    编码规范: 可以使用IDEA的插件自动扫描有没有编码问题。

    设计规范

    幂等性

    逻辑问题:是否满足需求。

    一致性问题

    并发和锁:在并发情况下,代码执行结果是否有问题。

    性能问题:代码是否存在性能问题,预计峰值流量能到多少。

    分支覆盖率:是否有分支没有覆盖

    走查后总结

    在代码走查之后,要优化代码走查,所以会发一个调查问卷给大家

    参加代码走查有什么收获?

    对代码走查有什么建议?

    我们走查完之后有几个改进点

    时间把控:第一次代码走查主持人和讲解人时间没控制好,走查了三个多小时,后续主讲人讲重点,主持人随时控场,讨论超过几分钟的就记录下面,线下讨论。

    重点优先:大家前面精力比较好后面就分神了,后续主讲人优先走查重点代码。

    d0c1501a6d8bb921cf36400dc89de69f.png

    展开全文
  • 代码走查总结

    千次阅读 热门讨论 2019-02-17 19:17:26
    什么是代码走查 代码走查就是,项目开发人员在一起,对代码进行讨论。项目开发人员可以向大家阐述代码的逻辑和写代码的思路!在向别人阐述的时候,会发现做自己写的代码出现的一些问题。 收获 我进行代码阐述的...

    什么是代码走查

    代码走查就是,项目开发人员在一起,对代码进行讨论。项目开发人员可以向大家阐述代码的逻辑和写代码的思路!在向别人阐述的时候,会发现做自己写的代码出现的一些问题。

    收获

    1. 我进行代码阐述的时候,是按照功能来进行的,在阐述的过程中,我能感觉到我自己是清楚这个逻辑思路的,但是说着说着就发现了一些说不通的地方,还有一些不合理的地方。这让我突然想到了,之前出现的一个bug但是,死活不知道是怎么出现的!可以说,对程序的了解又上了一个台阶,而且,还解决了之前的一个bug!
    2. 在阐述代码的时候,大家还发现了很多代码可以进行优化的地方:
    •     比如代码复用超过两次的地方,就要提取方法,这样更加方便使用。
    • 变量的命名,在我的代码中,有很多标识,比如flag,自己在写的时候,图了方便,就随便写成了 fla,fa等等不规范且可理解性极差的名称,这样虽然当时写的时候方便了自己,但是对于一个合格的程序员来说,是极不厚道的。用之前听过的话来讲,就是被人戳着脊梁骨骂。
    • 除了变量的命名以外,方法的命名同样重要,要规范并且要让人可理解。
    • 还有就是datatable的使用,在我们现在这个系统中,D层,用到了datatable接收数据,但是在返回的时候,还是返回datatable,这样就很不容易U层的处理。我们需要的就是将其转成泛型。
    • 对于一些固定的属性值,或者是其他的值来说,可以用枚举来定义,这样在调用的时候,就会方便很多!
    • 对于嵌套if的处理,在写逻辑的时候,很有可能要用到嵌套的if,但是这种嵌套的if,可能性太差,并且会影响程序的处理速度。所以我们在写逻辑的时候,要谨慎,并且尽量减少嵌套if的使用

    结束语

    代码走查真的有必要,让我们在一次次中更加优秀!

    展开全文
  • 代码走查和代码审查 代码审查是个好主意的其他原因 (The Other Reasons Code Reviews are a Good Idea) 不仅仅是捕捉错误 (More than just catching bugs) 什么是代码审查? (What are Code Reviews?) A Code ...

    代码走查和代码审查

    什么是代码审查? (What are Code Reviews?)

    A Code Review is essentially what it sounds like: a review of code before it is approved/accepted into the codebase. The general flow goes like this; an engineer writes some code in order to fix a bug/address some item of work. The engineer sends out a Code Review/Pull Request, basically asking for their changes to be accepted into the main body of project. One or more other engineers review the code changes, leaving comments/feedback, and either approves or rejects the changes. Rejection is often a temporary state asking for the comments/feedback to be addressed and the updated changes submitted again for approval.

    本质上,代码审查听起来像是:在批准/接受代码库之前对代码进行审查。 总体流程如下: 工程师编写一些代码来修复错误/解决某些工作。 工程师发出一个“代码审查/拉取请求”,基本上是要求他们的更改被接受到项目主体中。 一个或多个其他工程师检查代码更改,留下评论/反馈,然后批准或拒绝更改。 拒绝通常是一种临时状态,要求处理评论/反馈,并再次提交更新的更改以供批准。

    The idea of this flow is to ensure that code entering the project meets a variety of expectations and standards, enforced by everyone on the team. The requirements being enforced often include coding style standards, unit/other testing, and general code quality. This process also provides an opportunity to spot check the code for any potential bugs, logic issues or other problems. It is common for this approval gate to require at least two other engineer’s approval before the code changes are allowed to move forward. But all parts of this process vary significantly team by team.

    该流程的目的是确保进入项目的代码满足团队中每个人都执行的各种期望和标准。 强制执行的要求通常包括编码样式标准,单元/其他测试以及常规代码质量。 此过程还提供了机会来检查代码是否存在任何潜在的错误,逻辑问题或其他问题。 通常,在允许更改代码进行之前,此批准门通常需要至少两个其他工程师的批准。 但是此过程的各个部分在团队之间差异很大。

    Code Reviews should not be the place where feature/implementation design feedback is discussed. This should happen long before code starts to be written.

    代码评审不应成为讨论功能/实现设计反馈的地方。 这应该早在开始编写代码之前发生。

    他们还提供什么其他好处? (What Other Benefits Do They Offer?)

    As outlined above, Code Reviews provide a number of quality gate, process, and standardization benefits. But there are many more, often less appreciated, potential benefits to the team, the resulting code, and the project as a whole. These are just my top three.

    如上所述,代码审查提供了许多质量控制,过程和标准化方面的好处。 但是,对于团队,所产生的代码以及整个项目而言,还有很多(通常是很少被人们所理解的)潜在利益。 这些只是我的前三名。

    分享项目知识 (Sharing project knowledge)

    Code Reviews are a great way to broadcast detailed knowledge about what changes are happening on a project. Having knowledge shared through the team versus locked up in silos (worst case in silos of one), has a very tangible impact on a project’s momentum and future. For those on the team actively participating in the Code Reviews, it acts as a ‘news beat’ or a pulse of the changes flowing into the codebase. This enables engineers to both stay up to date on how things work, but also allows them to plan their current and future work by taking these changes into account. For example, seeing an area of code is changing can help avoid conflicts if another engineer is about to make changes in the same area. Additionally, it may influence the implementation details of their next task if there is overlap.

    代码审查是一种传播有关项目中正在发生的更改的详细知识的好方法。 通过团队共享知识,而不是陷入孤岛( 最坏的情况是一个孤岛 ),对项目的发展势头和未来产生了非常明显的影响。 对于那些积极参与代码审查的团队而言,它就像是“新闻快讯”或流向代码库的变更脉动。 这使工程师不仅可以随时了解工作原理,还可以通过考虑这些变化来计划当前和将来的工作。 例如,如果另一个工程师要在同一区域进行更改,那么查看代码区域是否正在更改可以帮助避免冲突。 此外,如果有重叠,可能会影响其下一个任务的实现细节。

    On top of all of this, if your project involves an element of on-call rotation for handling live site issues/incidents, then Code Reviews provide a heads up for changes about to be deployed to Production. The on-call engineer can use the feed of incoming code changes to raise their awareness of what is changing. This helps speed up the identification of the source of issues if things start to fail in Production. When incidents occur, it is often due to changes somewhere in the pipeline.

    最重要的是,如果您的项目涉及用于处理现场现场问题/突发事件的呼叫轮换元素,则代码审查会提供有关即将部署到生产中的更改的提示。 待命工程师可以使用传入代码更改的提要来提高他们对更改内容的意识。 如果生产中开始出现故障,这有助于加快问题来源的识别。 发生事件时,通常是由于管道中某处的更改。

    教书的机会 (Opportunities to teach)

    Having a gate blocking unreviewed code changes going in helps ensure the health and quality of the codebase. But keeping the quality of code high requires continuous learning and education across the whole team. Code Reviews provide a direct and explicit way for the senior members of the team to teach those that are more junior. The very intent of a Code Review is to seek feedback and make the necessary changes before the code is considered ready. This explicitness removes some of the awkward barriers around providing feedback. In the context of a Code Review, the feedback is not unwarranted or unprovoked criticism. It is sought after and discussed in a public venue. This transparency helps ensure that the feedback provided is constructive and allows the feedback itself to be reviewed and critiqued.

    有一个门来阻止未审查的代码更改,有助于确保代码库的健康和质量。 但是要保持较高的代码质量,需要整个团队不断学习和教育。 代码审查为团队的高级成员提供了直接和明确的方式来教那些初级的成员。 代码审查的目的是在代码准备就绪之前寻求反馈并进行必要的更改。 这种明确性消除了提供反馈方面的一些尴尬障碍。 在《规范审查》的背景下,反馈并非无端或无端的批评。 在公共场所受到追捧和讨论。 这种透明性有助于确保所提供的反馈具有建设性,并允许对反馈本身进行审查和评论。

    Encouraging this culture of asking for, providing, and accepting feedback as part of the standard process helps the team move forward in a unified way. Many senior engineers will eagerly take the opportunity to help drive the team’s standards, mentor those more junior to the codebase, and lead by example. And this is a great growth opportunity for them.

    鼓励在标准流程中寻求,提供和接受反馈的这种文化有助于团队以统一的方式前进。 许多高级工程师将热切地抓住机会,帮助推动团队的标准,指导那些对代码库更初级的人,并以身作则。 对于他们来说,这是一个巨大的增长机会。

    学习机会 (Opportunities to learn)

    Receiving constructive feedback directly on the code you are developing is a great way to keep you focused on code quality. But Code Reviews offer other, more fruitful, ways to learn too.

    直接接收有关正在开发的代码的建设性反馈是使您专注于代码质量的好方法。 但是Code Review还提供了其他更有效的学习方法。

    Code Reviews are a great opportunity for those new to a codebase to see how the more seasoned on the team work. By taking the time to peruse current and existing Code Reviews, an engineer can get insight into how the team operates and how specific engineers approach problems. It is a good way to get exposure to different coding styles, problem solving and design patterns, and the inner workings of a system. As well as to observe the etiquette of the team, both in how they give and receive feedback, as well as adherence to coding standards and other expectations. Ideally, the Code Reviews should also provide specific context on the code being observed and discussion/feedback around the choices made, versus trying to wade through an enormous codebase without a guide.

    对于那些刚接触代码库的人来说,代码审查是一个很好的机会,以了解团队中经验更丰富的人员如何工作。 通过花时间仔细阅读当前和现有的代码审查,工程师可以洞悉团队的运作方式以及特定工程师如何解决问题。 这是接触不同编码风格,问题解决和设计模式以及系统内部工作的好方法。 除了观察团队的礼节外,他们如何提供和接收反馈,以及遵守编码标准和其他期望。 理想情况下,代码审查还应该提供有关正在观察的代码的特定上下文以及围绕所做选择的讨论/反馈,而不是尝试在没有指南的情况下浏览庞大的代码库。

    Given all these reasons I strongly encourage every engineer on my team to carve out time to participate in Code Reviews. Whether they are seniors helping raise the standards and educate others, juniors looking to expand their experience and exposure to other’s code, or anyone wanting to keep relevant on the changes flowing into a project. There is a lot of information to be gained by being a part of those discussions.

    出于所有这些原因,我强烈鼓励团队中的每位工程师花时间参加代码审查。 无论他们是帮助提高标准和教育他人的高年级学生,还是希望扩大他们的经验并接触他人法规的大三学生,还是任何想与项目变更保持联系的人。 作为这些讨论的一部分,可以获得很多信息。

    翻译自: https://towardsdatascience.com/the-other-reasons-code-reviews-are-a-good-idea-e57399499558

    代码走查和代码审查

    展开全文
  • 代码走查和代码审查 我们被告知我们应该组织代码审查,因为代码审查对我们的代码库有益。 我们遵循了这一建议,并设法建立了宏伟的外观。 我们正在进行代码审查并改善代码库。 从外部看,一切都很好,也许我们正在...
  • 代码走查的重要性

    2016-02-03 14:03:00
    在一个团队中, 如果没有code review, 直接允许开发提交代码到版本库并部署环境, 那么在正式开始测试之前的代码走查就非常有必要了。  这里说的走查不是使用工具在持续化集成之前进行代码规范的检查, 而是根据PRD...
  • 代码走查和代码审查 如果管理人员只能绘制流程图解释代码审查的工作方式,那么对他们来说会更容易。 然后,经理将通过电子邮件向所有同事发送电子邮件,告知每个人都应遵循新流程。 有许多方法可以在组织中实施...
  • 桌面检查可视为由单人进行的代码检查或代码走查:由一个... 代码走查的最主要的目的是为了发现程序中的逻辑错误,编程风格方面的错误可以通过风格检查的工具去检查。如下的检查单给代码走查的专家发现逻辑错误提供了...
  • 代码走查具体考察点一、参数检验公共方法都要做参数的校验,参数校验不通过,需要明确抛出异常或对应响应码。在接口中也明确使用验证注解修饰参数和返回值,作为一种协议要求调用方按注解约束传参,返回值验证注解...
  • 轰轰烈烈的代码质量竞赛结束了,各产品部陆陆续续开展了代码走查交流会,会上各位组长或代码走查负责人分享了优秀的实践,也提出了各式各样的问题,现把遇到的典型问题与优秀实践收集整理,与大家分享,感谢物资系统...
  • 代码检查和走查都要求人们组成一个小组来阅读或只管检查特定的程序。通常是一组开发人员(三至四人为最佳),参与者当中只有一人是程序编写者,这也符合“软件编写者往往不能有效地测试自己编写的软件”的测试原则。...
  • 代码走查和代码审查Code reviewing is an engineering practice used by many high performing teams. And even though this software practice has many advantages, teams doing code reviews also encounter ...
  • 人工测试代码检查,走查以及可用性测试是三种主要的人工测试方法。 这种人工测试方法有点像是若干个人员坐在一起开‘头脑风暴会’。。也就是说,目的是为了找出错误,而不是调试。 优点: 1.一旦发现错误,就能在...
  • 代码走查??

    热门讨论 2019-02-17 22:42:33
    代码走查目的是交换有关代码是如何书写的思路,并建立一个对代码的标准集体阐述。 在代码走查的过程中,开发人员都应该有机会向其他人来阐述他们的代码。 通常地,即便是简单的代码阐述也会帮助开发人员识别出错误...
  • 桌前检查、代码评审、走查

    千次阅读 2020-08-27 11:56:36
    程序员在程序通过编译之后,进行单元测试之前,对源程序代码进行分析、检验,并补充相关的文档,目的是发现程序中的错误。检查项目有: 1)检查变量的交叉引用表:重点是检查未说明的变量和违反了类型规定的变量,还要...
  • 和人有关的注意事项3.2.4 代码检查的衍生功效3.3 用于代码检查的错误列表3.3.1 数据引用错误3.3.2 数据声明错误3.3.3 运算错误3.3.4 比较错误... 代码走查3.4.1 人员组成3.4.2 具体过程3.5 桌面检查3.6 同行评审3.7
  • 代码走查

    千次阅读 2014-09-02 09:13:19
    代码走查目的是交换有关代码是如何书写的思路,并建立一个对代码的标准集体阐述。 在代码走查的过程中,开发人员都应该有机会向其他人来阐述他们的代码。 通常地,即便是简单的代码阐述也会帮助开发人员识别出错误...
  • 代码走查》杂记

    2013-01-21 22:09:00
    代码走查目的交换有关代码是如何书写的思路,并建立一个对代码的标准集体阐述。 在代码走查的过程中,开发人员都应该有机会向其他人来阐述他们的代码。 通常地,即便是简单的代码阐述也会帮助开发人员识别出错误并...
  • 人工测试之代码检查、走查与评审

    千次阅读 2020-05-28 18:28:56
    人工测试方法:代码检查、代码走查、桌面检查、同行评审。 代码检查与代码走查的联系: 1. 要求人们组成一个小组来完阅读或直观检查特定的程序,找出错误,但不必改正错误 2. 都是对过去桌面检查过程(在提交测试...
  • 代码检查、走查与评审

    千次阅读 2018-01-07 16:54:51
    桌上检查的目的是发现程序中的错误。桌上检查的检查项目主要有检查变量、标号的交叉引用表,检查子函数、宏、函数,等价性检查,常量检查,标准检查,风格检查,比较控制流,选择、激活路径,补充文档等。 对...
  • 为何要做代码走查

    2013-11-12 15:46:01
    代码可读性这个话题一直以来都是备受关注,但是可读性高与不高却没有统一的标准。毕竟各个公司,甚至于各个项目的规范都是不...我想不同之中必有共性,那就是经过走查的、能够被项目组其他成员接受并能尽快看懂的代码
  • 【颗粒归仓】(四)代码走查---开篇

    千次阅读 热门讨论 2016-05-22 15:37:48
    经历了ITOO5.0和组织部考核系统新旧两版代码的历练,前段时间也要过来考评和基础的代码晚上回家研究,着实通过看别人的代码可以扩展自己的眼界,也是由于在期间看到了一些“坏味道”,让我有了总结“代码走查”这样...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,459
精华内容 1,383
关键字:

代码走查的目的是