标签: google-style-guide

使用unsigned而不是signed int更可能导致错误吗?为什么?

Google C++样式指南中,有关"无符号整数"的主题,建议使用

由于历史意外,C++标准也使用无符号整数来表示容器的大小 - 标准组织的许多成员认为这是一个错误,但在这一点上实际上无法修复.无符号算术不对一个简单整数的行为进行建模,而是通过标准来定义模块化算法(包含溢出/下溢),这意味着编译器无法诊断出一大类错误.

模运算有什么问题?这不是unsigned int的预期行为吗?

指南引用了哪些错误(一个重要的类)?溢出的错误?

不要仅使用无符号类型断言变量是非负的.

我可以想到使用signed int而不是unsigned int的一个原因是,如果它确实溢出(为负),则更容易检测.

c c++ google-style-guide

77
推荐指数
5
解决办法
5415
查看次数

23
推荐指数
1
解决办法
8586
查看次数

带有C++ Google样式指南示例的示例代码?

有没有什么好的地方可以获得C++ Google Style Guide的示例?

c++ google-style-guide

11
推荐指数
1
解决办法
1万
查看次数

为什么Google Style Guide不鼓励前言声明?

并不是说谷歌风格指南是神圣的圣经,但作为一个新手程序员,它似乎是一个很好的参考.

Google样式指南列出了前向声明的以下缺点

  1. 前向声明可以隐藏依赖项,允许用户代码在标题更改时跳过必要的重新编译.

  2. 随后对库的更改可能会破坏前向声明.函数和模板的前向声明可以防止标题所有者对其API进行其他兼容的更改,例如扩展参数类型,添加具有默认值的模板参数或迁移到新的命名空间.

  3. 从名称空间std ::转发声明符号会产生未定义的行为.

  4. 可能很难确定是否需要前向声明或完整#include.用前向声明替换#include可以默默地改变代码的含义:

码:

  // b.h:
  struct B {};
  struct D : B {};

  // good_user.cc:
  #include "b.h"
  void f(B*);
  void f(void*);
  void test(D* x) { f(x); }  // calls f(B*)
Run Code Online (Sandbox Code Playgroud)

如果#include被B和D的forward decls替换,test()将调用f(void*).

  1. 从标题中声明多个符号的前向可能比简单地#include the header更加冗长.

  2. 构造代码以启用前向声明(例如,使用指针成员而不是对象成员)可以使代码更慢,更复杂.

然而,对SO的一些搜索似乎表明,前向声明通常是更好的解决方案.

因此,鉴于这些看似非平凡的缺点,有人可以解释这种差异吗?

什么时候忽略部分或全部这些缺点是安全的?

c++ forward-declaration google-style-guide

11
推荐指数
2
解决办法
2825
查看次数

Python 和 sphinx:多行 google 样式文档字符串中的项目符号列表

我目前正在使用 Sphinx 记录我的 Python 项目。在文档字符串的多行部分中包含项目符号列表时,我遇到了一个问题。

我想包括一个项目符号列表,但其中一项很长。我想要:

  • 通过 Sphinx 正确呈现项目符号列表
  • 但也有我的代码尊重 PEP8 关于行长度(<79)

你有什么建议让我为这个文档字符串做些什么:

class geography():
""" Class defining a geography (cities and distance matrix)

This class implements a geography with a list of named cities with their
associated coordinates in a plane. Helper functions enable to :

- give a visual representation of that geography
- give a visual representation of the distance matrix
- give a visual representation of a configuration, a configuration being the repartition of some or …
Run Code Online (Sandbox Code Playgroud)

python docstring google-style-guide python-sphinx

11
推荐指数
2
解决办法
5717
查看次数

谷歌关于输入/输出参数的样式指南作为指针

谷歌C++样式指南绘制有明显的区别(严格接着cpplint.py输入参数之间)(→常量REF,值)和输入-输出或输出参数(→非const的指针):

C/C++函数的参数既可以是函数的输入,也可以是函数的输出,或者两者兼而有之.输入参数通常是值或const引用,而输出和输入/输出参数将是非常量指针.

并进一步 :

事实上,在Google代码中,一个非常强大的约定是输出参数是值或const引用,而输出参数是指针.

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

它主要是关于风格

但是如果

如果您希望能够传递null,则必须使用指针

那么,如果我想避免指针为空,总是需要一个指针是什么意思?为什么只使用输入参数的引用?

c++ parameters reference google-style-guide cpplint

10
推荐指数
2
解决办法
1万
查看次数

文档中是否有正式的JSDoc标签订单?

我正在记录JavaScript API.我正在关注谷歌风格指南,但我没有发现标签的顺序.

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

/**
 * @description Radius of the circle
 * @private
 * @memberOf Circle
 * @type {Number}
 * @default
 */
Circle.prototype._radius = 1;
Run Code Online (Sandbox Code Playgroud)

如您所见,我使用自己的订单编写标签,这是我认为最直观的订单.

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

/**
 * @default
 * @description Radius of the circle
 * @memberOf Circle
 * @private
 * @type {Number}
 */
Circle.prototype._radius = 1;
Run Code Online (Sandbox Code Playgroud)

尽管如此,我有一个明确定义的顺序(按字母顺序),我发现这有点令人困惑,因为它会混淆评论的自然顺序.这就是为什么我正在寻找一种方法来编写具有特定官方订单的标签.

甚至还有这些标签的正式订单?

谢谢

javascript tags jsdoc google-style-guide

7
推荐指数
1
解决办法
1003
查看次数

Sphinx Napoleon Extension:使用Google Style docstrings记录多个返回参数

这个问题与另一个问题有关.建议和接受的解决方案是:

Returns:
       (tuple): tuple containing:                        
                    arg1: First Argument
                    arg2: Second Argument
Run Code Online (Sandbox Code Playgroud)

这个解决方案不起作用,至少对我而言.不解析带有arg1arg2描述的缩进子块.

我应如何管理多的回报sphinx,sphinx.ext.napoleon和谷歌文档字符串风格?

python google-style-guide python-sphinx

7
推荐指数
1
解决办法
1166
查看次数

如何解决At-clause应该有一个非空的描述? - Checkstyle - Java

我在eclipse luna的checkstyle插件中使用了谷歌java风格.在我的java文档中看到这个错误,但似乎无法找到如何解决它.这是次要的,但它困扰我.

我的javadoc:

/**
   * This is a description of something
   * 
   * @throws Exception
   */
Run Code Online (Sandbox Code Playgroud)

错误在@throws行上,错误:

At-clause should have a non-empty description
Run Code Online (Sandbox Code Playgroud)

java checkstyle google-style-guide

7
推荐指数
1
解决办法
5710
查看次数

将Python文档字符串从reStructured Text转换为Google风格的简单方法?

现在有人以简单的方式将现有项目中的所有文档字符串从reStructured Text转换为Google格式吗?

看起来拿破仑可以做类似的事情,但看起来很复杂,所以我想我以前是否有人这样做过.任何想法将不胜感激.

python docstring google-style-guide python-sphinx sphinx-napoleon

7
推荐指数
1
解决办法
1201
查看次数