Rubocop auto correct를 이용하여 쉽게 코드 스타일 따라가기

최근에 루비 프로그래밍 스타일 가이드 관련해서 을 하나 작성했었는데요, 이어서 그떄 잠깐 소개드렸던 rubocop을 이용해서 코드를 교정하는 과정에 대해 잠깐 이야기할까 합니다.

auto correct in rubocop

지난번에 rubocop 사용 관련해서 지금 틈내서 개발중인 recon-raven 쪽 코드로 돌려봤는데요.. 어마어마한 양이 나왔습니다.

5 files inspected, 370 offenses detected

무려 370개나 문제가 있다고 하네요..

그래서 쉽게 고칠 수 있는 방법이 뭐 없을까 하다가 옵션을 보니깐 auto-correct 기능이 있었습니다.

rubocop -h | grep auto-correct
#    -a, --auto-correct               Auto-correct offenses.
#    -x, --fix-layout                 Run only layout cops, with auto-correct on.

오 어느정도 자동 수정이 가능하겠단 이야기군요, 물론 관련해서 rubocop쪽 github에 safe 버전으로도 만들어서 사용하자란 이야기도 있었습니다. 그만큼 코드 동작에 문제가 발생할 수 있는 부분이니 신중하게 잘 확인하셔야 할 것 같습니다. 아무튼 -a , –auto-correct 옵션으로 발견 사항 일부에 대해 자동 교정이 가능합니다. 그럼 바로 적용해봅시다.

rubocop -a
# 5 files inspected, 522 offenses detected, 473 offenses corrected

희안하게 탐지량이 늘긴했지만, 무려 473개나 수정해주었네요. 내용을 살펴보면 대충 연산자 사이 공백 추가, 주석 뒤 공백 추가 같은 부분들이라 코드 동작에는 지장 없을 것 같습니다.

이제 다시 rubocop으로 리체킹해보면..

rubocop
# 5 files inspected, 49 offenses detected

49개 남았네요, 남은것들 중 가능한 부분은 수정합시다!

Conclusion

그와중에 else if , elseif 이건 좀 의외네요. 보통 else if 를 많이 사용한다고 생각했는데.

if

else if

end
end

rubocop 기준으론 아래가 좋은 코드라고 하네요.

if

elseif

end
end