티스토리 뷰

공부

Sitrep을 사용해보자

Zedd0202 2021. 2. 6. 13:05
반응형

 

안녕하세요 :) Zedd입니다.

이번주 동안 Let'Swift를 보고있는데, 이것저것 좋은 키워드들을..많이 얻게되었어요 XD

다시한번 감사드립니다👍

(이렇게 글을 쓰기 시작하고...벌써 2021년 2월이 되었네요..............)

 

그 중 하나인 Sitrep을 사용해보겠습니다.

저는 Sitrep이란 걸 처음 들어봤어요 👀..

 

# Sitrep

github.com/twostraws/Sitrep

 

twostraws/Sitrep

A source code analyzer for Swift projects. Contribute to twostraws/Sitrep development by creating an account on GitHub.

github.com

(만드신 분은 Paul Hudson인데 엄청 유명하셔서..다들 아시죠!?!? Hacking with Swift 만드신 분이에여ㅛ!!)

Sitrep은 Swift 프로젝트용 소스코드 분석기에요!

- 클래스, 구조체, 열거형, 프로토콜 및 extension의 count

- 총 코드 줄 및 소스코드 줄(주석 및 공백 제외)

- 가장 긴 파일 및 타입과 해당 소스코드 줄.

- 사용중인 import들과 그 빈도

- 프로젝트에 있는 UIView, UIViewController 및 SwiftUI 숫자(count)

 

이런것들을 확인 할 수 있다고 하네요!! 

 

그리고 Sitrep은 Apple의 SwiftSyntax를 사용하여 구축되어서, Swift 코드를 정확하고 효율적으로 파싱한다고 합니다.

그럼 사용해봅시다!

 

# 설치 및 사용 방법

설치방법은 3가지가 있는데..저는 git clone해서 사용하는 방법을 사용해보겠습니다!

git clone https://github.com/twostraws/Sitrep
cd Sitrep
make install

make install까지 하면

이렇게 되었을겁니다!

이제 내가 분석하고 싶은 프로젝트의 루트 경로를 복사해준 뒤

swift run sitrep -p ~/path/to/your/project/root

이렇게 명령어를 입력합니다.

그러면 막 스캐닝 하고 다 하는데, 그 작업이 끝나면

스캔한 프로젝트의 이런 저런 정보를 알려줍니다. 

하나씩 살펴봅시다.

 

Overview

클래스, 구조체, 열거형, 프로토콜 및 extension의 count

 

Sizes

회사코드라;; 코드 줄은 가림

Total lines of code.-  총 코드 줄

Source lines of code - 주석 및 공백 제외한 코드 줄

Longest file- 가장 긴 파일

Longest type - 타입중에서 가장 긴 거

 

Longest file과 Longest type은 제 앱 코드가 아닙니다. 

Pods쪽에 있는거죠. Pods까지 다 스캔한다는 것을 알 수 있는데..

Pods을 제외시키고 싶다면 .sitrep.yml 이란걸 만들어서 제 프로젝트 파일에 넣으면 됩니다.

아까 클론한 sitrep폴더에 가보면, 숨김파일로

.sitrep.yml이 있습니다. 이걸 복사해서 스캔하고 싶은 프로젝트에 붙혀줍니다.

(꼭 프로젝트에 안넣어도 되고..스캔 시작시 .sitrep.yml 의 경로를 같이 넣어주면 되긴 하는데 일단 이렇게 하겠습니다.)

그리고 Pods를 추가해줍니다.

그리고 다시 스캔 ㄱㄱ

swift run sitrep -p ~/path/to/your/project/root

그럼 이렇게 변경된 것을 볼 수 있습니다. 

 

Structure

1. 사용중인 import들과 그 빈도

2. 프로젝트에 있는 UIView, UIViewController 및 SwiftUI 숫자(count)

오잉.......ㅋㅋ..ViewController개수가 너무 안맞는데....뭐지????

 

아무튼 이게 다에요!! 

swift run sitrep -p ~/path/to/your/project/root

시 사용 할 수 있는 여러 커맨드라인 플래그가 있으니 참고해보세요! 

 

# 후기

일단...개수를 아는건 큰 의미가 없는 것 같아요 ㅎㅎ.....!!

가장 긴 파일과 타입처럼 특정 파일이랑 타입 다 알려주면 좋을텐데..

내가 어떤 클래스, 구조체 등을 가지고 있구나~ 

내 프로젝트에 UIViewController/UIView들이 어떤게 있구나~

이런걸 알면 더 좋았을 것 같아요! 

사실 이걸 써봐야겠다고 생각한것도 내 프로젝트에 있는 UIViewController/UIView들이 쫙 나오는 걸 기대했기때문..

진짜 count만 알려줄 준 몰랐음ㅋ

그리고 UIViewController의 개수는 왜 안맞는지 모르겠네요...

 

그래도 프로젝트의 간단한 것들을 확인하기에는 정말 좋은 것 같습니다! count만 확인하고 싶다면 더더욱..!! 

암튼 이런 소스코드 분석기?!를 더 찾아봐야겠네요 ㅎㅎㅎ

 

 

# 잡담

Let'Swift때 듣고 사용해볼려고 Sitrep을 clone받고,..스캔하는데 

이렇게 결과에 아무것도 안나오더라구요...그래서 요 Sitrep을 만든 Paul Hudson에게 물어봤는데 묵묵부답..

근데 얼마전에 답변이 달렸더라구요!

암튼 그래따...

 

반응형

'공부' 카테고리의 다른 글

왕초보를 위한 Github 블로그 만들기 (1)  (31) 2021.03.07
Fastlane (5) - App Store distribution  (2) 2021.02.13
XCTExpectedFailure  (0) 2021.02.03
Xcode 12.5 Beta Release Notes 📝  (3) 2021.02.02
Github Projects 사용해보기 (2)  (0) 2021.01.04