IOS application/CocoaPods

[Swift] SwiftLint 적용해보기 (저자의 방법은 계속 업데이트 됩니다)

개발자킹콩 2022. 6. 29. 21:11

 

 

 

SwiftLint는 무엇이고, 왜 사용할까요?

SwiftLint의 정의는 Linter, Formatter Library 입니다.

'Linter'란 커뮤니티나 팀에서 정한 스타일 규칙을 따르지 않는 코드 부분을 식별하고 표시하는 것을 돕습니다.

코딩 표준이라고도 불리는 코딩 컨벤션은 코드를 작성할 때 추천하는 코딩 스타일, 괜찮은 사례등을 모아놓은 가이드 라인 입니다.

 

우리가 프로젝트를 진행할 때 같이 협업을 하게 됩니다.

만드는 과정에서 협업하는 다른 iOS 개발자의 코드를 리뷰를 하게 될 것입니다.

그런데, 상대방의 코드 작성하는 방법이 나와 많이 다르다면 효율은 당연히 떨어지겠죠.

여백을 주는 방법, 중괄호를 열고 닫는 방법, if-else문에서 else의 위치 등 각 개발자가 다른 습관을 갖는 다면 프로젝트 유지보수 측면에도 좋지 못합니다.

그리고 optional type을 strong unwrapping 하는 방법은 어플의 crash 나게 하는 좋지 못한 습관입니다.

 

이렇게 코드를 작성할 때, 좋지 못한 습관을 잡아주고 협업하는 사람들의 코드 스타일을 하나로 만들어 더 나은 프로젝트를 만들기 위해 사용합니다. 협업하는 사람과 내가 쓴 코드를 구분할 수 없을 만큼 같아 진다면 코드 리딩 속도는 분명 올라갈 것이고, 유지보수 및 확장에 용이해지는 하나의 방법이라고 생각합니다.

 


 

저자의 SwiftLint 방법 - swift.yml 파일

 

 


 

참고 문헌

원래는 사용 방법을 서술하려 했는데, Readme 한글 자료가 너무 잘 나와있어서 생략함

https://github.com/realm/SwiftLint/blob/master/README_KR.md

 

GitHub - realm/SwiftLint: A tool to enforce Swift style and conventions.

A tool to enforce Swift style and conventions. Contribute to realm/SwiftLint development by creating an account on GitHub.

github.com

 

https://github.com/realm/SwiftLint

 

GitHub - realm/SwiftLint: A tool to enforce Swift style and conventions.

A tool to enforce Swift style and conventions. Contribute to realm/SwiftLint development by creating an account on GitHub.

github.com

 

https://realm.github.io/SwiftLint/rule-directory.html

 

Rule Directory Reference

 

realm.github.io

 

https://summerhorang.tistory.com/8

 

SwiftLint를 적용해보았습니다.

미뤄왔던 Swift의 linter, formatter library를 적용해보려고 합니다. 가장 흔하게 사용되는 SwiftLint와 흔하지 않지만 주변에서 간간히 사용하는 SwiftFormat 중에서 고민을 했는데, 결국 둘 다 써봐야 장단

summerhorang.tistory.com

 

https://yagom.net/forums/topic/swift-lint-써보기/

 

Swift Lint 써보기 - 야곰닷넷

Swift Lint란 'Linter' 입니다. 'Linter란' 커뮤니티나 팀에서 정한 스타일 규칙을 따르지 않는 코드 부분을 식별하고 […]

yagom.net