Analisis Kode Statis untuk R

Pemrograman R Defensif

Dr. Colin Gillespie

Jumping Rivers

Paket lintr

  • lintr adalah paket R untuk analisis kode statis
    • Memeriksa kepatuhan terhadap
      • gaya penulisan tertentu
      • kesalahan sintaks
      • potensi masalah semantik

Mirip seperti pemeriksa ejaan

Pemrograman R Defensif

Menggunakan lintr

Untuk menggunakan lintr

  • Simpan kode dalam sebuah berkas
  • Berikan kode ke fungsi lint()
Pemrograman R Defensif

lintr dalam Aksi

Misalkan saya punya kode berikut

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

disimpat dalam berkas code.R.

  • Menjalankan lintr::lint("code.R") menandai dua isu
Pemrograman R Defensif

Isu 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()
Pemrograman R Defensif

Isu 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
Pemrograman R Defensif

Melihat Lintr dalam Aksi

Pemrograman R Defensif

Preparing Video For Download...