Analisi statica del codice per R

Programmazione R difensiva

Dr. Colin Gillespie

Jumping Rivers

Il pacchetto lintr

  • lintr è un pacchetto R per l’analisi statica del codice
    • Verifica il rispetto di
      • uno stile dato
      • errori di sintassi
      • possibili problemi semantici

Come un correttore ortografico

Programmazione R difensiva

Usare lintr

Per usare lintr

  • Salvi il codice in un file
  • Passi il codice alla funzione lint()
Programmazione R difensiva

lintr in azione

Supponiamo di avere questo codice

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

salvato nel file code.R.

  • Eseguendo lintr::lint("code.R") emergono due problemi
Programmazione R difensiva

Problema 1

my_bad<-function(x,y) {
  x+y
}
r[[1]]
tmp.R:1:7: style: Metti spazi attorno agli operatori infissi.
my_bad<-function(x,y) {
     ~^~~
my_bad <- function()
Programmazione R difensiva

Problema 2

my_bad<-function(x,y) {
  x+y
}
r[[3]]
tmp.R:2:4: style: Metti spazi attorno agli operatori infissi.
  x+y
  ~^~
 x + y
Programmazione R difensiva

Vediamo Lintr in azione

Programmazione R difensiva

Preparing Video For Download...