`

代码审查工具Phabricator

阅读更多

概览
Phabricator支持两种代码审查工作流:“review”(提交前审查)和 “audit”(提交后审查)。
这篇文档概述了通过Audit工具实现提交后审查流程。

Audit如何工作
使用审核工具允许提交和部署代码,而无需等待代码审查结果,虽然最终还是会进行代码审查。Audit工具主要跟踪两件事:
  • 代码提交(Commits),以及它们的审核状态(譬如“未经审核(Not Audited)”、“认可(Approved)”、“引发担忧(Concern Raised)”)。
  • 审核请求(Audit Requests)。审核请求提醒用户去审核一次提交。它有多种触发方式。(可见“审核触发器”一节)
在审核工具的主页(位于/audit/)或者phabricator首页可以看到代码的提交和需要你审核的审核请求。如下图所示。
facebook
  • 必要的审核(Required Audits)。当你是某个项目的成员,或者是一个包的拥有者,Required Audits提示你去审核一次提交。当你认可这次提交时,审核请求会被关闭。
  • 问题提交(Problem Commits)。是指有人在审核过程中对你提交的代码表示担忧。当你消除了他们的疑虑并且所有审核人均对代码表示认可时,问题提交将会消失。
举例
  • 翠花进行了一次代码提交
  • 铁蛋接收到审核请求
  • 过了一阵儿,铁蛋登录Phabricator并在首页看到审核请求
  • 铁蛋检查翠花提交的代码。他发现代码中的一些问题,之后他选择了“引发担忧”选项,并且在评论中描述了这些问题
  • 翠花收到一封关于铁蛋对她的提交表示忧虑的email。她决定过一会儿再处理这个问题
  • 不久后,翠花登录Phabricator并在首页“问题提交”下看到提示
  • 翠花通过某些方式解决了那些问题(如“找铁蛋讨论”、“修复问题并提交”)
  • 铁蛋表示满意,并认可了最初那次提交
  • 审核请求将从铁蛋的待办事项中消失。问题提交也会从翠花的待办事项里消失
审核触发器
审核请求可由多种方式触发:
  • 将“Auditors: username1, username2”写入提交注释中,会触发上述用户接到审核请求。如下图所示。

  

  • 可以在Herald工具中,根据提交的属性创建一系列的触发规则。如有文件被创建、文本被修改,提交人等。
  • 可以在任何提交中,通过提交注释为自己创建审核请求。
在小团队中进行审核
如果你身处一个小团队并且认为不需要复杂的触发规则,那么你可以创建一个简单的审核工作流,如下所示:
  • 创建一个新项目:“Code Audits”。
  • 为代码提交创建一条全局规则:"Differential Revision" "does not exist"。在这条规则下,“Code Audits”项目的每一次提交都会触发一次审核请求。
  • 所有工程师加入Code Audits项目。
     通过这种方式,所有项目成员都将收到每一次代码提交的审核请求,但是,一旦某一位成员认可了这次提交,那么所有的审核请求便会消除。实际上,这种方式强制大家遵守了一条规则:任何提交都应该被人看到。
     一旦团队壮大,便可改进触发规则使每位开发人员只看到与他们有关的代码修改。
 
审核工具小贴士:
  • 责任感。在审阅一次代码提交时,你所负责的审核是被突出显示的。你要为自己的任何审核行为负责。
  • 在diff对比区域,点击行号将可添加内嵌评论。
  • 在diff对比区域,在行号上拖动可添加跨越多行的内嵌评论。
  • 内嵌评论最初只保存为草稿,直到你在页面底部提交评论。
  • 按“?”键查看快捷键。


 

 

 

 phabricator 工具和reviewboard有类似之处,也有命令行的工具可以提交代码request。

优点:

1. phabricator 中也是通过提交request来展示diff做reivew.但是他的diff不是文件的全部内容,只是diff的部分,所以不需要事先在工具里添加库,可以直接提交diff,也可以粘贴diff的内容来提交。

2. 不光只有代码review工具,还有bug跟踪,wiki等功能。可以直接做单元测试,bug与代码review的关联

3. 按request状态分类清晰,搜索功能好用

4. 支持svn 和 git

缺点:

1. 用户不支持域设置,需要管理员来添加

2. diff不是文件的全部内容

3. 跟代码库不关联,做统计及覆盖率比较困难

4. 没有eclipse的插件,其他相关资料少

结论:跟reviewboard比起来出来跟其他工具整合的功能比较强大外,没有明显优势。而且也可以看出,代码review的工具,模式类似,综合考虑起来还不如reviewboard成熟。

分享到:
评论

相关推荐

    可视化代码评审工具 Phabricator.zip

    Phabricator是一款强大的开源代码审查工具,由Facebook开发并维护,专为提升代码质量和团队协作效率而设计。这款工具提供了可视化的界面,使得代码评审过程更加直观和高效。Phabricator支持多种编程语言,其中特别...

    基于Gitlab的代码审查流程(Code-Review)方案

    Upsource是JetBrains公司开发的代码审查工具,与IntelliJ IDEA等集成开发环境(IDE)紧密集成,支持对Git和SVN版本控制系统的代码审查。Upsource的主要特点是专注于代码审查,界面友好,与IDE无缝集成,但免费版本...

    (1)phabricator客户端工具Arcanist

    Phabricator是一款开源的软件开发协作平台,它包含了一系列工具,如Differential(代码审查)、Conduit(API接口)、Phabricator(项目管理)等。其中,Arcanist是Phabricator的重要组成部分,是一个命令行工具,专...

    (2)phabricator必用安装客户端工具libphutil

    例如,`arc`是一个基于libphutil构建的命令行工具,用于与Phabricator服务器进行交互,执行如代码推送、拉取、代码审查创建和更新等操作。`arc`的很多功能都依赖libphutil提供的通用工具和接口。 4. **安装...

    (3)phabricator客户端工具Arcanist之代码提交工具diff(3)

    在Phabricator的工作流程中,`arc diff` 是一个关键的命令,它允许开发者将本地的代码变更提交到代码审查系统,以便团队成员进行审阅和讨论。在这个主题中,我们将深入探讨`arc diff`的使用及其在代码评审过程中的...

    代码审查表1

    - 代码审查工具:如Crucible、Phabricator,提供代码对比、评论和批准流程。 - 集成开发环境(IDE)插件:如SonarQube,集成代码审查功能,实时检查代码质量。 总的来说,代码审查是一个多阶段、多参与者的过程,...

    phabricator在win7下安装所需所有软件以及安装教程

    Arcanist是Phabricator的一个命令行工具,用于与Phabricator进行交互,如提交代码审查。下载最新版本的Arcanist,并将其解压到一个方便的位置。添加Arcanist的bin目录到系统PATH环境变量,以便在任何地方都能执行...

    代码走查工具介绍

    4. **Crucible** - 由 Atlassian 开发的 Crucible 是一款专业的代码审查工具,支持多种版本控制系统,包括 Git、SVN 和 Mercurial。它提供了一种集中式的审查环境,可以进行详细的代码分析和讨论。 5. **...

    提高C-C++代码质量的工具:静态分析、代码审查与单元测试.md

    其次,代码审查通过团队成员的协作和反馈来识别代码中的问题,提升代码的可读性、设计合理性和安全性,常用工具包括Gerrit、Phabricator和GitHub Pull Requests等。最后,单元测试对代码的最小测试单元进行验证,...

    phabricator中文文档

    Phabricator是一款由Facebook开源的项目管理和代码审查工具,集成了任务管理、代码审查、版本控制等多种功能,能够有效地帮助团队提高协作效率。 #### 二、安装指南 ##### 1. 安装环境需求 Phabricator主要基于...

    代码审查宣言:代码审查宣言

    2. 异步审查:通过代码审查工具提交代码,其他团队成员在方便时进行审查,这种方式灵活性高,但反馈可能较慢。 3. 自动化审查:利用静态代码分析工具进行初步检查,减轻人工审查负担,但不能替代人工审查。 三、...

    CodeReview工具

    5. **集成其他工具**:Jupiter通常与其他代码审查工具(如Gerrit)集成,方便在Eclipse内进行操作。 Reviewclipse是另一款强大的Eclipse插件,同样专注于Code Review。它提供了类似的功能,包括: 1. **集成代码...

    Java_Jenkins插件与Phabricator Harbormaster和Uberalls集成.zip

    这些工具的结合能够实现自动化测试、构建和代码审查,提高开发效率和代码质量。 Jenkins是一款开源的持续集成服务器,它允许开发者在代码提交后自动执行构建、测试和部署任务。通过安装特定的Jenkins插件,我们可以...

    arcanist工具.zip

    Phabricator是一个开源的代码审查和版本控制系统,它提供了一整套工具来支持软件开发过程。Arcanist是其中的一个关键组件,它允许开发者在本地进行各种操作,如提交代码、创建补丁、执行代码审查等,然后通过...

    arcanist工具-windows.rar

    Arcanist是Phabricator的核心工具之一,它提供了命令行接口,使得开发者可以方便地进行代码提交、代码审查、分支管理等操作。它通过Arc命令行工具与Phabricator服务器进行交互,极大地提升了团队协作效率。 **2. ...

    Python库 | sentry-phabricator-0.5.3.tar.gz

    Phabricator是一个开源的企业级开发协作套件,它包含了一系列工具,如代码审查(Differential)、任务管理(Maniphest)、版本控制界面(Arcanist,用于与Git、SVN等交互)等。Phabricator被许多大型公司如Facebook...

    phabricator-scripts:与Phabricator一起使用的用户脚本

    Phabricator是一款开源的、强大的代码审查和项目管理工具,主要为软件开发团队提供协作环境。"phabricator-scripts" 是一个与Phabricator配套使用的用户脚本集合,旨在提高开发人员与Phabricator交互的效率和便利性...

    phabricator-stats:从 phabricator 获取一些用户统计信息的脚本

    Phabricator是一款开源的代码审查和项目管理工具,广泛用于软件开发团队进行协作。而"phabricator-stats"则是基于JavaScript编写的一个脚本,它的主要功能是从Phabricator平台提取并分析用户的相关统计信息。这个...

    代码审核phabircator安装所需github资源文件

    这一步会下载并安装如`diffusion`(用于Git仓库管理)、`differential`(代码审查工具)等组件。安装完毕后,就可以使用`arc`命令进行代码审查、提交更改、运行测试等操作。 在实际使用中,还需要根据项目需求配置...

    phabricator-shortcuts:Phabricator 的键盘快捷键,使用 Google Chrome 的快捷方式管理器扩展

    Phabricator 的键盘快捷键是一套用于同行代码审查、任务管理和项目交流的开源工具。 它的键盘快捷键通常非常糟糕,尤其是与其他用于任务管理的 Web 应用程序相比时。 该项目使用 Google Chrome 的。 ####指示...

Global site tag (gtag.js) - Google Analytics