🔗 功能:C++ 代码格式化
- 目标:最大限度地减少合并冲突,减少提交的噪音,并提高代码的可读性。
- 状态:已完成
- 版本:Squid 3.1
- 开发者:Christos Tsantilas, AmosJeffries
🔗 详细信息
Squid 的合并流程要求运行一套工具来规范代码并符合一套标准的编码指南。请参阅 进行格式化
🔗 何时格式化
如果您没有 astyle 3.1 和 md5sum 工具来正确进行格式化。特别是 astyle 的正确版本。我们宁愿您不要自己进行格式化。如果您没有正确的版本,格式化脚本会进行检查并跳过格式化步骤。
格式不佳的代码通常难以阅读,因此如果您拥有正确的工具,请在将 [PATCH] 或 [MERGE] 请求发送给 squid-dev 进行审核(或在提交已接受的代码之前)进行格式化。主干上的全局重新格式化会定期进行,但如果补丁一开始就具有正确的格式,就可以为每个人节省麻烦,并让 bundlebuggy 保持愉快。
另一方面,如果您只是删除了一个大型 if 语句或循环的条件然后重新格式化,那么一些审阅者(以及以后追踪 bug 的开发者)将很难发现您没有改变该 if 语句或循环内的其他任何内容(或正确地更改了内容)。您的补丁也更有可能与其他待处理的补丁发生冲突。
根据工具的可用性以及格式化对您更改的整体清晰度/兼容性的影响来做出决定。
🔗 进行格式化
给定正确的工具。可以在 Squid 代码的签出副本上运行 scripts/source-maintenance.sh 脚本来正确地对其进行格式化。
此工具还会进行其他代码检查,并在进行过程中重建几个编译器系统文件,因此应始终从源文件的顶层目录运行。
🔗 处理错误
它将在第一个语法更改时中止,留下一个 fubar.h.astylebad 文件(格式错误的重新格式化)。因此,需要一个手动 diff,如下所示:
diff -wu fubar.h fubar.h.astylebad
用于检查重新格式化是否成功。
有时代码注释会被重新排列。这些被视为错误,可以忽略。只需通过将 fubar.h.astylebad 移动到未格式化文件上方并再次运行格式化器来接受更改。它将继续进行并找到下一个问题。
类别:功能
导航:站点搜索,站点页面,类别,🔼 向上