Análise Estática de Código para R

Programação Defensiva em R

Dr. Colin Gillespie

Jumping Rivers

O pacote lintr

  • lintr é um pacote R que faz análise estática de código para R
    • Ele verifica a aderência a
      • um padrão de estilo
      • erros de sintaxe
      • possíveis problemas semânticos

Semelhante a um verificador ortográfico

Programação Defensiva em R

Usando o lintr

Para usar o lintr

  • Salve o código em um arquivo
  • Passe o código para a função lint()
Programação Defensiva em R

lintr em ação

Suponha que eu tenha o seguinte código

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

salvo no arquivo code.R.

  • Executar lintr::lint("code.R") destaca dois problemas
Programação Defensiva em 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()
Programação Defensiva em 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
Programação Defensiva em R

Vamos ver o lintr em ação

Programação Defensiva em R

Preparing Video For Download...