自动化工具 活跃维护

danger

danger/danger

🚫 在代码审查中别再说“你忘了……”(适用于 Ruby)

5698
Stars 标星
493
Forks 分支
44
Watchers 关注
170
Open Issues
Ruby
主要语言
MIT
开源协议
3.5 MB
仓库大小
18 天前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:danger/danger
git clone https://github.com/danger/danger.git
git clone git@github.com:danger/danger.git
README.md master

英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。

危险 :no_entry_sign:

规范你的拉取请求礼仪。


什么是 Danger? • 愿景 • 帮忙 • 插件开发


危险是什么?

在你的 CI 过程中,Danger 会运行,并给团队机会自动化常见的代码审查工作。

这为你的流程提供了另一个逻辑步骤,通过它 Danger 可以帮助在日常代码审查中检查你重复性的任务。

你可以使用 Danger 来规范团队的行为准则,让人类去思考更困难的问题。

举个例子?

你可以:

  • 强制执行 CHANGELOG
  • 在 PR/MR 正文中强制链接到 Trello/JIRA
  • 强制使用描述性标签
  • 注意常见的反模式
  • 突出显示有趣的构建产物
  • 对特定文件给予额外关注

Danger 提供了粘合剂,使_你_能够构建符合你团队文化的规则,提供有用的元数据和一个全面的插件系统来共享常见问题。

入门

好吧。其实,你可能来错地方了。从现在起,这个自述文件将面向那些对开发和改进 Danger 感兴趣的人。

我们将所有终端用户文档保存在 https://danger.systems。

一些快速链接:指南索引、DSL 参考、入门 和 Danger 做什么?。

我来帮忙!

太棒了。那么,让我们来帮你设置一下。

git clone https://github.com/danger/danger.git
cd danger
bundle install
bundle exec rake spec

这样就能设置好一切并运行所有测试。

理论

Danger 有一个 VISION.md 文件,汇总了关于 Danger 的理念。它是 Danger 意义的下限。Orta 也曾在 Artsy 博客 上写过关于处理和创建 Danger 的内容。

文献资料

你写的代码可能会出现在网站的公开部分——最简单的判断方式是它文档过于繁多。如果你所在的领域看起来文档过于繁杂,请特别注意添加文档。我们期望文档的使用者不是红宝石学者,因此应避免使用具体行话,尽量提供重复且重叠的示例。

测试

到目前为止,我们还没真正找到正确的方法来做CLI命令的测试。即使我们做了测试,它们都变得脆弱。所以,理想情况下,尝试把任何会放入命令的逻辑转移到不同的类中,并对它们进行测试。我们可以接受命令没有覆盖,但理想情况下,构成它的类会覆盖。

我强烈建议在工作时使用 bundle exec guard 来运行你的测试。你在 lib 或规格中所做的任何更改都会立即执行相应的测试。

调试

Ruby 非常动态。调试 Ruby 代码的最佳方法之一是使用 pry。我们为开发者包含了 pry:当你遇到问题时,只需在问题发生前复制这两行代码,并按照 “我想成为一个危险向导” 中的说明操作。

require 'pry'
binding.pry
本站来源与版权声明
  • 本文标题:danger - 🚫 在代码审查中别再说“你忘了……”(适用于 Rub
  • 本文链接:https://www.cn121.com/automation/danger-danger.html
  • 原项目:danger/danger 版权归原作者 danger 及贡献者所有
  • 收录信息:本站于 2026-10-28 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 danger/danger。
  • 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出,仅将二级标题译为中文,便于按栏目定位;标题原文可在下方原仓库中查看),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。