R용 정적 코드 분석

방어적 R 프로그래밍

Dr. Colin Gillespie

Jumping Rivers

lintr 패키지

  • lintr는 R용 정적 코드 분석 패키지입니다
    • 다음 준수 여부를 확인합니다
      • 지정된 스타일
      • 구문 오류
      • 잠재적 의미 오류

맞춤법 검사기와 유사하게 동작합니다

방어적 R 프로그래밍

lintr 사용법

lintr를 사용하려면

  • 코드를 파일에 저장합니다
  • lint() 함수에 코드를 전달합니다
방어적 R 프로그래밍

lintr 실습

다음 코드가 있다고 가정하겠습니다

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

파일 code.R에 저장되어 있습니다.

  • lintr::lint("code.R")를 실행하면 두 가지 문제가 표시됩니다
방어적 R 프로그래밍

문제 1

my_bad<-function(x,y) {
  x+y
}
r[[1]]
tmp.R:1:7: style: 모든 중위 연산자 주변에 공백을 넣으십시오.
my_bad<-function(x,y) {
     ~^~~
my_bad <- function()
방어적 R 프로그래밍

문제 2

my_bad<-function(x,y) {
  x+y
}
r[[3]]
tmp.R:2:4: style: 모든 중위 연산자 주변에 공백을 넣으십시오.
  x+y
  ~^~
 x + y
방어적 R 프로그래밍

Lintr 동작 살펴보기

방어적 R 프로그래밍

Preparing Video For Download...