首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为不熟悉的代码库进行代码评审?

如何为不熟悉的代码库进行代码评审?
EN

Software Engineering用户
提问于 2019-06-25 07:44:26
回答 1查看 509关注 0票数 4

我和一小群软件工程师一起工作。我们每个人都处理不同的项目,没有太多的互动。我们都向同一主管汇报,他们或多或少了解我们每个人都在做的所有项目的要求。他曾经是唯一一个会检查我们的代码的人。

考虑到单独检查所有代码并不是有意义的,他现在想让我们互相检查对方的代码。

除了使用相同的编程语言之外,我完全不知道其他项目正在做什么。而且,由于我的大多数同事已经在他们各自的项目上工作了一段时间,对我来说,这是一个相当大的代码基础,我可以深入了解并熟悉到能够给出有用的评论。

那么,我应该如何从不熟悉的代码库开始检查代码呢?

EN

回答 1

Software Engineering用户

发布于 2019-06-25 08:43:04

你的评论已经很有用了。

为什么?

作为代码库中的新手,你什么都不知道.是非常有价值的。

问经验丰富的专家为什么?是您可以为评审带来的最有价值的工具之一。

  • 专家必须阐明他们的领域知识,以便与您分享。完美的组织成为开发人员的文档。
  • 专家必须向你证明这个设计是正确的。他们有多难证明这是荒谬的,或者是纯粹的困难。
  • 作为该领域的新手,你可以更容易地看到专家早已适应的问题。

标准

也许成为有效的最简单的方法是让每个人都以同样的方式投入工作。

例如,提交只能包含:

  • 一次持续的重构。
    • 例如重命名以XYZ开头的所有类,使其以ABC开头。
    • 以完全相同的方式更改一系列函数签名,以删除/添加/移动参数。

  • 一个缺陷修复/部分缺陷修复。
    • 一个单元测试突出了问题+修复问题的确切行。

  • 特征/子特征
    • 描述正在添加的新特性的一小部分测试,支持它的新代码行。

  • 删除一个特性/子功能
    • 只删除代码行和相关测试。

至少,这将保持审查的重点,而且基本上是独立的。

如果为了完成一件工作,必须对几个提交进行审查,那么至少这些片段本身很容易处理,并且可以组成一个故事:

  • 首先,我们需要清理一些命名
  • 重新组织一些文件
  • 我们发现了一个bug,这是修复方法
  • Foo对象需要一些新的行为
  • 添加一个新的IObj实现
  • 配置IoC
  • 业务行为是X,在控制器中添加两行可以启用它。

学习

不幸的是,您将不得不学习另一个代码库。

最好的方法是要求提供一个小的特性来实现。这允许您在代码库中探索和实践,更好的是实际专家验证您的代码。

票数 7
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/393795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档