Analyse statique du code pour R

Programmation R défensive

Dr. Colin Gillespie

Jumping Rivers

Le paquet lintr

  • lintr est un paquet R qui offre l'analyse statique de code pour R
    • Il vérifie la conformité à une
      • règle de style donnée
      • erreurs de syntaxe
      • problèmes sémantiques possibles

Comme un correcteur orthographique

Programmation R défensive

Utiliser lintr

Pour utiliser lintr

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

lintr en action

Supposons que j'ai 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

Voyons lintr en action

Programmation R défensive

Preparing Video For Download...