SuperAPI AI 工具集

r-development

编程与开发

查看项目

更新于 10-16 05:44

技能介绍

用途:在开发、测试和文档化 R 包时提供规范流程指导,覆盖 devtools、testthat、roxygen2 及 R 生态工具。

主要能力: 开发流程:interactive 开发用 devtools::load_all();提交 R 改动前必须运行 devtools::document() 更新文档,另可用 devtools::test()、devtools::check()、devtools::build()、devtools::install()。 代码质量:lintr::lint_package()、lintr::lint() 检查,styler::style_pkg() 格式化,covr::package_coverage() 查看覆盖率。 文档构建:devtools::build_vignettes()、rmarkdown::render() 渲染 vignette,pkgdown::build_site() 生成站点。 测试规范:使用 testthat 第三版;文件命名 test-{component}.R,辅助文件 helper-{name}.R,共享夹具 setup.R。优先 expect_identical、expect_s3_class、expect_lt 等具体断言,避免 expect_equal 替代精确匹配、避免用 expect_true 包裹 inherits 或比较。条件跳过用 skip_on_cran()、skip_if_not_installed() 等。 文档规范:roxygen2 用 @inheritParams 减少重复,描述每行一句、每行不超 80 字符,用 @family 关联函数,示例用 @examples 或 @examplesIf。 代码风格:内部函数加 . 前缀,导出函数用 snake_case;遵循 tidyverse 风格,行宽 80,不留尾随空白。可用 pre-commit 钩子自动格式化与检查,命令为 pip install pre-commit、pre-commit install、pre-commit run --all-files。 数据结构:可配合 data.table 提升性能,如 setDT、setkey、:=;S3 类用 inherits 或 expect_s3_class 检查。 依赖管理:用 package::function() 显式调用,usethis::use_package() 添加到 Imports 或 Suggests。

适用场景:开发 R 包、编写 R 测试、编写函数文档、搭建包基础设施、运行 R CMD check,以及使用 devtools、testthat、roxygen2 时。

限制:该技能提供 R 相关开发模式,项目自身的架构与领域知识应保留在项目的 CLAUDE.md 文件中。其他未在资料中说明的限制暂未提供。