R için Statik Kod Analizi

Savunmacı R Programlama

Dr. Colin Gillespie

Jumping Rivers

lintr Paketi

  • lintr, R için statik kod analizi sunan bir R paketidir
    • Şunlara uyumu denetler
      • belirli bir stil
      • sözdizimi hataları
      • olası anlamsal sorunlar

Yazım denetleyicilere benzer şekilde çalışır

Savunmacı R Programlama

lintr Kullanımı

lintr kullanmak için

  • Kodu bir dosyada saklarız
  • Kodu lint() fonksiyonuna veririz
Savunmacı R Programlama

lintr İş Başında

Aşağıdaki koda sahip olduğumuzu varsayalım

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

code.R dosyasında kayıtlı.

  • lintr::lint("code.R") çalıştırmak iki sorun gösterir
Savunmacı R Programlama

Sorun 1

my_bad<-function(x,y) {
  x+y
}
r[[1]]
tmp.R:1:7: style: Tüm infiks operatörlerin etrafına boşluk koyun.
my_bad<-function(x,y) {
     ~^~~
my_bad <- function()
Savunmacı R Programlama

Sorun 2

my_bad<-function(x,y) {
  x+y
}
r[[3]]
tmp.R:2:4: style: Tüm infiks operatörlerin etrafına boşluk koyun.
  x+y
  ~^~
 x + y
Savunmacı R Programlama

Lintr'ı İş Başında Görelim

Savunmacı R Programlama

Preparing Video For Download...