Analiza statică a codului pentru R

Programare defensivă în R

Dr. Colin Gillespie

Jumping Rivers

Pachetul lintr

  • lintr este un pachet R pentru analiza statică a codului
    • Verifică respectarea unui
      • stil de scriere
      • erori de sintaxă
      • posibile probleme semantice

Asemănător verificatoarelor ortografice

Programare defensivă în R

Utilizarea lintr

Pentru a utiliza lintr

  • Salvăm codul într-un fișier
  • Transmitem codul funcției lint()
Programare defensivă în R

lintr în acțiune

Să presupunem că avem următorul cod

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

salvat în fișierul code.R.

  • Rulând lintr::lint("code.R") sunt evidențiate două probleme
Programare defensivă în R

Problema 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()
Programare defensivă în R

Problema 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
Programare defensivă în R

lintr în acțiune

Programare defensivă în R

Preparing Video For Download...