问题标签 [lintr]
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.
r - devtools::check() 注意到 .lintr 作为隐藏文件和目录
当我运行时devtools::check()
,我的构建将我的.lintr
(位于根目录中)标记为最有可能包含在错误中的隐藏文件。有没有办法防止在支票上注明这一点?它没有包含在错误中,我需要它来整理我的包裹。
r - 使用 lintr::expect_lint_free() 进行测试失败并使用 devtools::check() 但可以使用 devtools::test()
我的包中的这个测试适用于devtools::test()
. 在线 Travis 构建也进展顺利。
但是,devtools::check()
它失败了。错误信息是
我在 Windows 上运行 R 版本 3.6.3 (2020-02-29),testthat 2.3.2 和 lintr 2.0.1。
我认为问题在于 lintr 不知道要 lintr 哪个文件。
有人可以向我指出这个问题的解决方案是什么吗?
r - 从单个 lintr 中排除源文件行范围(不是所有 lintr)
要检查我的包的代码质量,我正在使用包lintr使用命令
并得到一个我想忽略的结果:
函数的圈复杂度应小于 15
如何忽略cyclocomp_linter
文件(行号范围)的单个 lintr ( ) 的单个“误报”lintr 结果?
编辑 1:目前我正在使用这个.lintr
配置文件作为解决方法(通过完全禁用 lintr):
r - 为什么 sapply() 和 options() “不受欢迎”?
Jim Hester 的“lintr”包包含许多不同的 R 的 linter。该包的 README 以这种方式描述了其中一个 linter:
undesirable_function_linter:
报告使用了不受欢迎的功能,例如 options 或 sapply 并提出替代方案。
我很惊讶。我已经使用 R 很多年了,而且我已经使用options()
了sapply()
很多年。是什么让他们不受欢迎?还有更好的选择吗?
我知道getOption()
,但它不能替代options()
. 我也知道*apply()
变体、Map()
和 Tidyversemap
函数。Tidyverse 函数对我来说总体上似乎比sapply()
或Map()
- 我更喜欢 Tidyverse 函数中的默认值和参数顺序 - 但我不会想到称之为sapply()
“不受欢迎的”。
r - lintr 包 - 在没有 roxygen 文档的情况下进行检查
我正在使用lintr
包来检查我的包中是否与 tidyverse 编码标准不一致。但是,我正在处理的问题是,即使在我不想让他检查的 roxygen 文档中,lintr 包也会引发每行超过 80 个字符的问题。
因此,例如 lintr 包将通过Lines should not be more than 80 characters
错误
#' @description This a description for very good function which does a lot of good things and it's not so long as this description
.
我的问题是 - 我如何忽略文档中行数超过 80 个字符的所有标记(在处理普通代码时,我仍然希望对长行进行评论)。
r - 项目中没有可见的全局函数定义/没有可见的全局变量绑定?
我正在使用R Extension在 VS Code 中使用R。我几乎所有的项目工作都是使用targets来完成的,这意味着我的包导入和函数通常位于单独的文件中。
一个简单的例子是在一个看起来像的文件夹中工作
我遇到的问题是我从 {lintr} 收到有关从packages.R
(或从tar_option_set(packages=c(...))
)加载的函数(特别是特殊函数)的全局函数定义的警告。我有一个类似的问题,lintr 无法识别列名,而是将它们视为缺失变量。例如,一个函数functions.R
可能如下所示:
如果我正在开发一个包,解决方案(如在此处和其他地方发布的)将在 NAMESPACE 中包含该功能。但我不觉得每个快速分析都需要一个包。我还能如何避免这些警告?排除这些 linter 的唯一其他选择是/.lintr
什么?