(https://www.hahwul.com/2018/07/awesome-awesome-ruby-programming-style.html)
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 $$$$$$c $$\"\"\"\" $$$ $$$, $$$$$$ \"Y$c$$ cccc $$$$$$c c$$$cc$$$cY$c.$$\" $$\"\"\"\" $$$ \"Y$c$$ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/func_print.rb:22:81: C: Metrics/LineLength: Line is too long. [114/80] 888b \"88bo,888oo,__`88bo,__,o,\"888,_ _,88P888 Y88 888b \"88bo, 888 888,Y88P 888oo,__ 888 Y88 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/func_print.rb:23:81: C: Metrics/LineLength: Line is too long. [130/80] MMMM \"W\" \"\"\"\"YUMMM \"YUMMMMMP\" \"YMMMMMP\" MMM YM MMMM \"W\" YMM \"\"` MP \"\"\"\"YUMMMMMM YM" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 5 files inspected, 49 offenses detected
49개 남았네요, 남은것들 중 가능한 부분은 수정합시다!
Conclusion
그와중에 else if , elseif 이건 좀 의외네.. 보통 else if 를 많이 사용한다고 생각했는데.if
else if
end
end
rubocop 기준으론 아래가 좋은 코드라고 하네요.
if
elseif
end
end
HAHWULSecurity engineer, Gopher and H4cker! |
0 개의 댓글:
Post a Comment