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