Skip to content

Commit

Permalink
reference more packages
Browse files Browse the repository at this point in the history
  • Loading branch information
IndrajeetPatil committed Sep 26, 2024
1 parent 09fb9da commit 7f87126
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 17 deletions.
1 change: 1 addition & 0 deletions paper/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/.quarto/
6 changes: 3 additions & 3 deletions paper/paper.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand All @@ -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.

Expand Down Expand Up @@ -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}`

Expand Down
36 changes: 34 additions & 2 deletions paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -65,11 +65,43 @@ @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},
note = {R package version 1.0.5,
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},
}
28 changes: 16 additions & 12 deletions paper/paper.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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

Expand All @@ -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.

Expand Down Expand Up @@ -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}`

Expand Down

0 comments on commit 7f87126

Please sign in to comment.