问题标签 [google-style-guide]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
10401 浏览

c++ - 为 C++11 移动语义编辑 Google 的 C++ DISALLOW_COPY_AND_ASSIGN 预处理器宏

几个月来,我一直在使用 Google 的C++ 样式指南中的 DISALLOW_COPY_AND_ASSIGN 宏,但最近我发现另外禁用移动构造函数和移动赋值会很有用。

我之前没有写过任何真正的宏(事实上,我一直在尽可能地远离它们),所以我想从你们其他人那里得到一些关于我是否实现它的反馈正确。

非常欢迎提出建议和批评。

谢谢你的时间!

0 投票
1 回答
1149 浏览

python - 用于获取器和设置器的 Google 样式指南属性

我很好奇Google Python 风格指南中关于 properties的建议之一。

在其中,他们给出了以下示例:

我对此有两个问题:

  1. 与直接使用两个下划线相比,使用三个下划线“间接”以及两个下划线有什么好处___get_area___set_area

  2. 为什么要使用property()这组双下划线和三重下划线方法作为方法,而不是执行以下操作:

    /li>
0 投票
1 回答
8761 浏览

c++ - AStyle for Google C++ 风格指南

我刚开始将 Astyle 与 VS-2013 一起用于 C++。我想将其配置为遵循Google C++ style guide。我注意到 Astyle 允许导入配置文件,所以我想知道是否有人完成了艰苦的工作并将其配置为遵循 Google C++ 样式指南?如果没有,那么我应该在“设置”窗口中进行哪些调整:

在此处输入图像描述

有任何想法吗?

0 投票
1 回答
1169 浏览

c++ - 关于 Google C++ 风格的“引用参数”规则

我正在转换我的代码以遵循google C++ style guide引用参数规则说“通过引用传递的所有参数都必须标记为 const”和“输入参数是值或 const 引用,而输出参数是指针”。

关于签名void MyTable::LoadTable(ifstream &fin),我如何标记fin const给定的参数LoadTable调用一些非常量函数fin,例如fin.seekg?我认为fin应该被视为输入/输出参数,因此它有点特别。在这种情况下,谷歌人会怎么做?


更新:我知道有很多关于谷歌风格指南的批评。我只是想知道 googlers 是如何解决这个问题的,也许我找到了答案:还有一条规则Streams阅读“仅将流用于日志记录”。也许他们只是在这种情况下不使用流。

0 投票
1 回答
1529 浏览

javascript - 文档中是否有 JSDoc 标签的官方命令?

我正在记录一个 JavaScript API。我正在关注谷歌风格指南,但我没有发现任何关于标签顺序的信息。

我通常记录一个像这样的变量:

如您所见,我使用自己的顺序编写标签,这是我认为最直观的一种。

以下是标签按字母顺序排列的相同文档:

尽管有一个明确定义的顺序(按字母顺序),但我觉得这有点令人困惑,因为它与评论的自然顺序混淆了。这就是为什么我正在寻找一种方法来编写带有特定官方命令的标签。

这些标签甚至有官方订单吗?

谢谢

0 投票
4 回答
13339 浏览

c++ - 谷歌关于输入/输出参数作为指针的风格指南

Google C++ 风格指南在输入参数(→ const ref, value)和输入输出或输出参数(→ 非 const 指针)之间做出了明确的区分(严格遵循cpplint.py):

C/C++ 函数的参数要么是函数的输入,要么是函数的输出,或者两者兼而有之。输入参数通常是值或常量引用,而输出和输入/输出参数将是非常量指针。

并进一步 :

事实上,在 Google 代码中,输入参数是值或 const 引用,而输出参数是指针,这是一个非常严格的约定。

但我无法弄清楚为什么输入/输出参数(我将输出参数放在一边)不应该通过引用传递。在stackoverflow上有很多与这个问题相关的主题:例如here,接受的答案清楚地表明

主要是关于风格

但如果

你希望能够传递空值,你必须使用一个指针

那么,如果我想避免指针为空,那么总是要求指针有什么意义呢?为什么只对输入参数使用引用?

0 投票
0 回答
87 浏览

ios - 当我们谈到清晰和干净的架构时,如果创建 iOS 项目的关键时刻是什么

问题是关于iOS中的结构化

所以我收到了来自我通过测试的公司的消息,他们说:

“首先,我想强调他们说(参加我测试的开发人员)他们真的很喜欢你的代码有多干净。你可以改进的一件事是类的结构并不理想。”

我问我实际上做错了什么或者我应该改进什么。我不确定这是堆栈问题,但也许有人可以指出我或建议一些事情,例如你如何构建你的代码。

我问是因为干净和结构,我每次都关心什么,但现在我听说这并不理想。

所以通常我编写的代码行数不超过 250 - 300。我关心将代码分成生命周期块的编译指示标记,我关心空格等。

所以我的代码也被分成“文件夹”,我在其中存储适当的逻辑元素,例如:

  • 视图控制器
  • 意见
  • 常数
  • 楷模
  • 帮手
  • XIB(如果有)
  • 故事板(如果有)

这些文件夹中的每一个都有子文件夹,这些子文件夹也不是一个组,而是硬盘驱动器上的真实文件夹,并且每个文件夹都包含一些类,这些类以该类的适当名称命名。

我知道没有权利或示例如何构建项目,因为它取决于任务和开发人员或公司风格。但是,如果我收到类似上面的消息,那么也许有人可以建议我可以阅读的内容或我想念的内容。

0 投票
1 回答
4597 浏览

c++ - 谷歌风格指南的崇高文本支持

我正在使用 sublime text 3 编写 C++ 代码。我们遵循CPP 的 Google 风格指南

我正在寻找任何使用样式指南作为参考提供自动重新缩进和 linter 支持的插件。

0 投票
1 回答
111 浏览

objective-c - Is count a property or not?

In the official google style guide for objective c, it's mentioned that

Dot notation is idiomatic style for Objective-C 2.0. It may be used when doing simple operations to get and set a @property of an object, but should not be used to invoke other object behavior.

The following is the preferred way of getting/setting properties as opposed to using brackets:

The following is the non-preferred way of doing the same:

However, according to the style guide, count is not a property and hence should use the bracket notation. However, count really is a property. Can anyone weigh in on this please?

0 投票
0 回答
44 浏览

python - 考虑到常见的 Python 编码风格,如何定义“常量”?

常量通常在 ALL_CAPS 名称中很明显,并且在模块顶部附近,但是,我不清楚如何定义常量。是一个常数:

  • A)对在整个软件生命周期内不打算更改的值的引用(例如PI=3.1416

  • B)对在整个软件生命周期内预计会改变的值的引用(例如CUSTOMER_FILE=r'\data\customer_info.csv'

  • C)两者都有?