티스토리 뷰
SwiftLint와 SwiftFormat을 둘 다 적용해보았습니다.
먼저 이 둘을 비교하는게 맞는지는 모르겠습니다. 겹치는 기능이 있지만, 애초에 주된 기능이 서로 다르기 때문입니다.
SwiftLint
SwiftLint는 정해진 Rule에 맞지 않는 코드가 있다면, 그 부분을 warning 또는 error를 통해 개발자에게 알려주는게 주된 기능입니다.
물론 auto correction기능을 가지고 있어서 코드 자동 수정도 지원합니다.
개인적으로는 SwiftLint는 한 파일의 길이, 또는 한 라인의 length 등에 대한 warning과 error를 통해 좀 더 깔끔한 코드 구현을 생각하게끔 도와주는 것 같아요.
SwiftFormat
반면 SwiftFormat의 주된 기능은 linting이 아닌 formatting입니다. 룰과 맞지 않는 코드가 있으면 warning이나 error를 내는 대신 코드를 수정해버립니다. (Build phase에 run script를 추가할 때 보면 compile하기 전에 추가하죠?)
물론 SwiftFormat도 linting 기능을 제공합니다. 하지만 한 파일의 maximum 길이라던지, 코드를 SOLID에 맞게 짜도록 도와주는 역할은 별로 없는 것 같습니다.
그럼 무엇을 써야할까?
둘을 같이 사용한다면 (SwiftFormat으로 자동수정) -> Compile -> (SwiftLint의 warning, error) 의 순서로 빌드가 이루어지겠죠? 저라면 SwiftLint로 파일의 길이, line length 등의 warning/error수준은 유지하면서 SwiftFormat의 자동기능을 사용할 것 같아요.
하지만 둘 다 설치하기 귀찮고 공부하는 시간이 아깝다면 한글 가이드가 있는 SwiftLint를, 워닝 에러처리 안됐으면 좋겠고 알아서 수정해주면 좋겠다면 SwfitFormat이 좋을 것 같다고 생각합니다.
혹시 제가 잘못 이해했거나 잘못 전달한 부분이 있으면 언제든 반드시 꼭꼭 알려주세요~ 그럼 안녕!
SwiftLint 적용기
SwiftFormat 적용기
'iOS' 카테고리의 다른 글
SwiftFormat을 적용해보았습니다. (0) | 2020.06.07 |
---|---|
SwiftLint를 적용해보았습니다. (0) | 2020.06.06 |
[Swift] String은 mutable인가 immutable인가? (0) | 2020.03.10 |