Skip to content
This repository has been archived by the owner on Mar 13, 2024. It is now read-only.

Commit

Permalink
Update Posts “2023-11-10-google-c-规范-翻译”
Browse files Browse the repository at this point in the history
  • Loading branch information
Ultcrt committed Nov 13, 2023
1 parent 089b740 commit c9ac18f
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion _posts/2023-11-10-google-c-规范-翻译.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,11 @@ C++是 Goolge 开源项目中很常用的一种语言。正如许多 C++ 开发
当下,本风格指南的目标包括:

- **风格应该具有足够的重要性**:风格规范带来的收益必须足够大,才有足够的理由要求所有的工程师记住该规范。所谓的好处是通过对比没有规范要求的代码库得到的,因此如果一个规范针对某个非常有害的做法,但是人们通常不会这样做,那么这个规范的收益就很低。本准则主要解释了为什么某些规范没有被收录,而不是解释已经被本指南收录的规范:例如,`goto` 语句违背了下述的很多准则,但是该语句已经很少被使用了,因此本指南并没有讨论该语句。
- **为代码阅读者进行优化,而非编写者**:这里假设,代码库(和提交到代码库中的独立组成部分)的开发工作是会持续相当长的时间的。这就导致,花费在代码阅读上的时间多于代码编写的时间。我们明确为了平均水平的软件工程在阅读、维护、调试代码库中代码时的体验进行优化,而不是对编写代码时的体验进行优化。“为了读者留下线索”是一个1

- **为代码阅读者进行优化,而非编写者**:这里假设,代码库(和提交到代码库中的独立组成部分)的开发工作是会持续相当长的时间的。这就导致,花费在代码阅读上的时间多于代码编写的时间。我们明确为了平均水平的软件工程在阅读、维护、调试代码库中代码时的体验进行优化,而不是对编写代码时的体验进行优化。“为了读者留下线索”是本准则的一个常见子集:当代码中出现令人惊讶或不常见的情况时(例如,指针所有权转移),为阅读者留下文字提示是很重要的(`std::unique_ptr` 在调用处明确描述了所有权的转移)。

- **和已有代码保持统一**:在整个代码库中使用统一的风格能够让开发者关注其他(更重要)的问题。并且,一致性还使得自动化成为可能:一些格式化代码或调整 `#include` 的工具,只有在代码与工具预期保持一致时才能正确工作。在很多情况下,属于“一致性”准则的规范可以归结为“直接选一个就好,停止内耗”;在这类规范上允许灵活处理所带来的潜在价值超过了在这类规范上争论的价值。不过,一致性是存在限制的;当没有明确技术支撑和长期方向时,一致性能很好的帮助我们决策。一致性通常不能作为使用旧风格的理由,而不考虑新风格带来的好处,或者代码库随时间推移逐渐靠近新风格的趋势。
- **适当的与庞大的 C++ 社区保持一致**



Expand Down

0 comments on commit c9ac18f

Please sign in to comment.