15

当我在 python 中编程时,我发现使用 pylint 非常有用。但是,当我在 R 中编程时,没有可比性。

作为一个小型项目,我认为尝试编写一个小型 lint 程序会很有趣。没有什么太花哨的东西,类似于:

  • 确保函数名是驼峰式的
  • 平均函数长度
  • 检测未使用的变量
  • 间距。例如,function(x=1, y=2)而不是function(x=1,y=2)

但是,我不确定如何开始(我已经开始查看 pylint 源代码)。

我应该如何开始?这种类型的项目有标准的编程技术吗?我应该考虑任何好的资源吗?

我想用 R 编写整个项目。

4

4 回答 4

12

看看codetoolsR 附带的包。一些详细信息可以在包的CRAN页面上找到。包中的代码会在您执行时运行R CMD check,例如,这样可以捕获未使用的变量等。这可能会让您开始rlint.

要回答其他一些方面......我会开始编写执行一项任务的简单函数,例如将函数名称转换为驼峰式大小写。当您构建一组小函数时,您可以将它们合并为一个工作 lint 包装函数,同时允许用户/开发人员在他们不想要完整的 lint 行为时灵活地调用特定函数。

于 2011-03-01T20:58:51.957 回答
12

lintr是一个 R 包,它对样式和可能的语义错误进行代码 linting。它在引擎盖下使用 codetools,并在其之上使用额外的 linting。

它还与 Emacs、Vim、Sublime Text 和 RStudio 集成。

于 2015-03-06T16:14:25.547 回答
8

最近有人为R贴了一个lint包:http: //cran.r-project.org/web/packages/lint/index.html

看起来它处于早期开发阶段。它在 Github 上: https ://github.com/halpo/lint.git

于 2013-02-23T04:42:41.417 回答
5

“R CMD 检查”程序可能会对您有所帮助。它所做的一件事是找到似乎没有被初始化的变量。这通常是一个错字。该检查程序的代码可能会对您有所帮助。

我不认为这是一项小工作!

于 2011-03-01T21:01:51.147 回答