问题标签 [cpplint]

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 投票
2 回答
4862 浏览

c++ - 为什么 cpplint 不鼓励 Streams?

我只是在玩 cpplint 并尝试在我为好玩而编写的一些代码上运行它。我意识到以下行被标记了错误消息:-

我很好奇为什么不鼓励使用流。

0 投票
2 回答
4726 浏览

jenkins - 如何使 cpplint 与 Jenkins 警告插件一起使用

我在 Jenkins 中添加了一个“执行 shell”构建步骤来运行 cpplint.py

我还添加了“扫描编译器警告”并添加了 CppLint。

但是它总是得到 0 个警告,即使它在控制台输出中显示了一些警告,例如

0 投票
2 回答
1877 浏览

c++ - Cpplint 要求添加头文件

我有一些代码在名为 executor.cpp 的文件中使用 std::string。在对应的头文件 executor.h 中我包含#include <string>. 但是,在 executor.cpp 上运行 cpplint 会给我这样的消息:-

dec-session/executor.cpp:15: Add #include <string> for string [build/include_what_you_use] [4]

我究竟做错了什么?我应该将它包含在 executor.h 中吗?

0 投票
1 回答
1359 浏览

emacs - Flycheck-Google-Cpplint 配置不正确

我正在尝试在我的 emacs 中安装 flycheck-google-cpplint。但我得到这个错误:

但这不起作用。我收到以下错误:

我不知道为什么。我安装了 cpplint,如果我从命令行使用它,它工作正常。有什么建议吗?

0 投票
2 回答
657 浏览

emacs - flymake-google-cpplint-filter 或 linelength 似乎没有占用我的 emacs 文件

我在 emacs 中安装了以下软件包 24 flymake-google-cpplint 是已安装的软件包。

在我的emacs中,我有以下内容,

google-cpplint 运行良好,但不是过滤掉空格/line_length,cpplint 仍然在长行上显示消息,并且在超过 80 个字符的行上它也会发出警告;尽管我将其设置为 120 个字符时发出警告。

我已经重启了很多次emacs。并尝试M-X load-file RET加载~/.emacs

我在这里错过了一步吗。我是否需要更改 cpplint.py 或 flymake-google-cpplint.el 中的某些内容才能使更改生效?谢谢

0 投票
4 回答
13339 浏览

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

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

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

并进一步 :

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

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

主要是关于风格

但如果

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

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

0 投票
2 回答
5809 浏览

python - 如何在 Windows 上安装 cpplint?

所以我试图让 cpplint 在 Sublime Text 3 上工作,我使用 Sublime 上的包安装程序下载了 cppcheck 和 cpplint,现在我正在尝试遵循这些说明 https://github.com/SublimeLinter/SublimeLinter-cpplint

我安装了 Python,我想我安装了 get-pip,因为使用命令提示符告诉我 pip 是最新的,但是当我到达它说运行的地方时

我迷路了。

我已经将 Python34 放在了我的路径上,据我了解,sudo 是一个 Linux 命令,相当于 Windows 中的 runas。我尝试了很多不同的方法,包括输入 cpplint 的完整路径。有人可以帮助我吗?

0 投票
2 回答
4251 浏览

c++ - 我应该使用 rand() 还是 rand_r()?

我正在尝试在 C++ 中获取一个随机数,并且我正在使用rand(). 这就是cpplint所说的:

考虑使用rand_r(...)而不是rand(...)提高线程安全性。

我正在切换到rand_r,这就是cppcheck所说的:

调用了过时的函数“rand_r”。建议改用函数“rand”。

谁是对的?

0 投票
0 回答
163 浏览

codeblocks - 我可以从 code::blocks 中运行 cpplint 吗?

是否可以从 Code::Blocks中运行 Google 的cpplint.py ,这样我就可以在源代码中从一个错误跳转到下一个错误?

对于那些不熟悉 cpplint.py 的人,它是一个 python 脚本,用于标记违反Google Style Guide的行。它以与 gcc 的编译器错误相同的格式输出错误消息,因此例如 emacs 没有问题,错误会正确地从一个标记行跳到下一个标记行。

0 投票
3 回答
10091 浏览

google-style-guide - 在整个项目上运行 CPPlint

我想在我的整个项目上运行cpplint.py而不是单个文件来获取项目中所有 C/C++ 文件的报告。如何在 macOS 和 Windows 上执行此操作?