From 7f87126077d23fc799aa83cf714ad1549881f291 Mon Sep 17 00:00:00 2001 From: Indrajeet Patil Date: Thu, 26 Sep 2024 22:12:06 +0200 Subject: [PATCH] reference more packages --- paper/.gitignore | 1 + paper/paper.Rmd | 6 +++--- paper/paper.bib | 36 ++++++++++++++++++++++++++++++++++-- paper/paper.md | 28 ++++++++++++++++------------ 4 files changed, 54 insertions(+), 17 deletions(-) create mode 100644 paper/.gitignore diff --git a/paper/.gitignore b/paper/.gitignore new file mode 100644 index 000000000..075b2542a --- /dev/null +++ b/paper/.gitignore @@ -0,0 +1 @@ +/.quarto/ diff --git a/paper/paper.Rmd b/paper/paper.Rmd index fa0379638..4f083bff2 100644 --- a/paper/paper.Rmd +++ b/paper/paper.Rmd @@ -46,7 +46,7 @@ output: standalone: true bibliography: paper.bib csl: apa.csl -link-citations: yes +link-citations: true --- ```{r setup, warning=FALSE, message=FALSE, echo=FALSE} @@ -69,7 +69,7 @@ A linter is a tool that analyzes code to identify potential errors, stylistic is # Features -By default, `{lintr}` enforces the tidyverse style guide [@Wickham2023,@Müller2024]. In this respect, it differs from other static code analysis tools in R (like `{codetools}` [@Tierney2024]), which are not opinionated and don't enforce any particular style of writing code, but, rather, check R code for possible problems. +By default, `{lintr}` enforces the tidyverse style guide [@Wickham2023,@Müller2024]. In this respect, it differs from other static code analysis tools in R (like `{codetools}` [@Tierney2024]), which are not opinionated and don't enforce any particular style of writing code, but, rather, check R code for possible problems. Additionally, `{lintr}` doesn't cover linting inline code for documentation generation (cf. `{roxylint}` [@Kelkhoff2024] for linting `{roxygen2}` comments [@Wickham2024roxy]). As of this writing, `{lintr}` offers `r length(all_linters())` linters. @@ -219,7 +219,7 @@ There are two main ways to customize it: - Create new linters (by leveraging functions like `lintr::make_linter_from_xpath()`) tailored to match project- or organization-specific coding standards. -Indeed, `{goodpractice}` [@Padgham2024] bundles a set of custom linters that are not part of the default set of `{lintr}` linters, while `{flint}` [@Bacher2024] provides a way to fix the lints detected by `{lintr}`. +Indeed, `{goodpractice}` [@Padgham2024] bundles a set of custom linters that are not part of the default set of `{lintr}` linters, while `{flint}` [@Bacher2024] provides a way to fix the lints detected by `{lintr}`. Moreover, `{box.linters}` [@Basa2024] extends `{lintr}` to support `{box}` modules [@Rudolph2024]. # Benefits of using `{lintr}` diff --git a/paper/paper.bib b/paper/paper.bib index 0548c9f92..278bde85a 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -49,7 +49,7 @@ @Manual{Tierney2024 } @Manual{Bacher2024, - title = {flint: Find and Fix Lints in R Code}, + title = {flint: Find and Fix Lints in {R} Code}, author = {Etienne Bacher}, year = {2024}, note = {R package version 0.0.2, @@ -65,7 +65,7 @@ @Manual{Müller2024 url = {https://github.com/r-lib/styler}, } - @Manual{Padgham2024, +@Manual{Padgham2024, title = {goodpractice: Advice on R Package Building}, author = {Mark Padgham and Karina Marks and Daniel {de Bortoli} and Gabor Csardi and Hannah Frick and Owen Jones and Hannah Alexander}, year = {2024}, @@ -73,3 +73,35 @@ @Manual{Padgham2024 https://github.com/ropensci-review-tools/goodpractice}, url = {https://docs.ropensci.org/goodpractice/}, } + +@Manual{Rudolph2024, + title = {box: Write Reusable, Composable and Modular {R} Code}, + author = {Konrad Rudolph}, + year = {2024}, + note = {R package version 1.2.0}, + url = {https://CRAN.R-project.org/package=box}, + } + +@Manual{Basa2024, + title = {box.linters: Linters for 'box' Modules}, + author = {Ricardo Rodrigo Basa and Jakub Nowicki}, + year = {2024}, + note = {R package version 0.10.5}, + url = {https://CRAN.R-project.org/package=box.linters}, + } + +@Manual{Kelkhoff2024, + title = {roxylint: Lint 'roxygen2'-Generated Documentation}, + author = {Doug Kelkhoff}, + year = {2024}, + note = {R package version 0.1.0}, + url = {https://CRAN.R-project.org/package=roxylint}, + } + +@Manual{Wickham2024roxy, + title = {roxygen2: In-Line Documentation for {R}}, + author = {Hadley Wickham and Peter Danenberg and Gábor Csárdi and Manuel Eugster}, + year = {2024}, + note = {R package version 7.3.2}, + url = {https://CRAN.R-project.org/package=roxygen2}, + } diff --git a/paper/paper.md b/paper/paper.md index 8f707b064..e0e77607b 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -1,6 +1,6 @@ --- title: "Static Code Analysis for R" -date: "2024-09-17" +date: "2024-09-26" tags: ["R", "linter", "tidyverse"] authors: - name: Jim Hester @@ -46,23 +46,23 @@ output: standalone: true bibliography: paper.bib csl: apa.csl -link-citations: yes +link-citations: true --- # Statement of Need -A linter is a tool that automatically analyzes code to identify -potential errors, stylistic issues, or deviations from coding standards. -It helps ensure consistency, readability, and best practices by flagging -common mistakes, such as syntax errors, unused variables, or improper +A linter is a tool that analyzes code to identify potential errors, +stylistic issues, or deviations from coding standards. It helps ensure +consistency, readability, and best practices by flagging common +mistakes, such as syntax errors, unused variables, or improper formatting. Linters are essential for improving code quality, preventing bugs, and maintaining a clean codebase, especially in collaborative development environments [@enwiki:1218663830]. `{lintr}` is an -open-source package that provides linters for R programming language, -which is an interpreted, dynamically-typed programming language -[@base2023], and is used by a wide range of researchers and data -scientists. `{lintr}` can thus act as a valuable tool for R users to -help improve the quality and reliability of their code. +open-source package that provides linters for the R programming +language, which is an interpreted, dynamically-typed programming +language [@base2023], and is used by a wide range of researchers and +data scientists. `{lintr}` can thus act as a valuable tool for R users +to help improve the quality and reliability of their code. # Features @@ -71,6 +71,9 @@ By default, `{lintr}` enforces the tidyverse style guide static code analysis tools in R (like `{codetools}` [@Tierney2024]), which are not opinionated and don't enforce any particular style of writing code, but, rather, check R code for possible problems. +Additionally, `{lintr}` doesn't cover linting inline code for +documentation generation (cf. `{roxylint}` [@Kelkhoff2024] for linting +`{roxygen2}` comments [@Wickham2024roxy]). As of this writing, `{lintr}` offers 113 linters. @@ -293,7 +296,8 @@ lint( Indeed, `{goodpractice}` [@Padgham2024] bundles a set of custom linters that are not part of the default set of `{lintr}` linters, while `{flint}` [@Bacher2024] provides a way to fix the lints detected by -`{lintr}`. +`{lintr}`. Moreover, `{box.linters}` [@Basa2024] extends `{lintr}` to +support `{box}` modules [@Rudolph2024]. # Benefits of using `{lintr}`