Analyse statique de code pour R

Programmation R défensive

Dr. Colin Gillespie

Jumping Rivers

Le package lintr

  • lintr est un package R qui propose l'analyse statique de code pour R
    • Il vérifie le respect d'une
      • convention de style
      • erreurs de syntaxe
      • éventuels problèmes sémantiques

Comme un correcteur orthographique

Programmation R défensive

Utiliser lintr

Pour utiliser lintr

  • Stockez le code dans un fichier
  • Passez le code à la fonction lint()
Programmation R défensive

lintr à l'œuvre

Supposons que j'aie le code suivant

my_bad<-function(x, y) {
  x+y
}

enregistré dans le fichier code.R.

  • L'exécution de lintr::lint("code.R") signale deux problèmes
Programmation R défensive

Problème 1

my_bad<-function(x,y) {
  x+y
}
r[[1]]
tmp.R:1:7: style: Put spaces around all infix operators.
my_bad<-function(x,y) {
     ~^~~
my_bad <- function()
Programmation R défensive

Problème 2

my_bad<-function(x,y) {
  x+y
}
r[[3]]
tmp.R:2:4: style: Put spaces around all infix operators.
  x+y
  ~^~
 x + y
Programmation R défensive

Découvrons lintr en action

Programmation R défensive

Preparing Video For Download...