iOS 라이브러리/Periphery

[Mac Program] Periphery 소개 및 사용법

검은참깨두유vm 2025. 9. 28. 23:23
반응형

AI가 코딩을 도와주는 시대가 왔다.

자연어로 구현해야할 요구사항들을 AI에 입력하면 수십~수백줄의 코드를 쏟아내준다.

이러한 코드는 겉보기에는 동작을 잘 하는 것 같으나 

요구사항을 여러번 요청할 때 최종적으로 쓰이는 코드를 제외하면 나머지 코드는 그대로 프로젝트에 남게된다.

그래서 안 쓰이는 코드를 찾아주는 프로그램이 있지 않을까 생각을 하고 찾아보니

아니나다를까 안 쓰이는 코드를 스캔하여 출력해주는 프로그램이 있었다. (Periphery)

Periphery를 실행하고 스캔을 한다면 안 쓰이는 함수 및 속성을 파악할 수 있다.

스캔을 하고 출력된 파일에 들어가서 함수나 속성이 쓰이는지 파악하고 안 쓴다면 지워버려 정리를 할 수 있다.

 

이 프로그램의 소스는 깃허브에 공개되어있다.

https://github.com/peripheryapp/periphery

 

GitHub - peripheryapp/periphery: A tool to identify unused code in Swift projects.

A tool to identify unused code in Swift projects. Contribute to peripheryapp/periphery development by creating an account on GitHub.

github.com

 

위 링크에 들어가면 프로그램을 사용하는 방법을 알려주는 README를 확인할 수 있다.

README를 읽어보면 Xcode 프로젝트에 통합하여 사용할 수도 있는 것 같지만

나는 Terminal을 통해서 스캔하는 것만으로 충분하여 Terminal에서 사용하는 방법만 소개한다.

 

먼저 MacOS에서 프로그램을 설치할 때 주로 쓰는 Homebrew를 사용한다.

Terminal에서 brew 명령어를 사용해 periphery를 설치한다

brew install periphery

 

 

설치가 완료됐다면 Terminal을 Xcode 프로젝트에 위치에 들어가 아래의 명령어를 입력한다

periphery scan --setup

 

명령어를 입력한다면 아래의 스샷과 같이 CLI 방식으로 문답이 있는데 묻는 질문에 잘 대답해주면 된다.

 

1. 어떤 Scheme들을 빌드할 것인지 묻는다.

2. Objective-C 언어를 사용하고 있는지 묻는다.

3. Public 설정된 것은 외부 프로젝트에서 쓰고 있는지 묻는다. (단일 프로젝트면 n으로 설정하면 된다.)

4. .periphery.yml 파일을 만들어서 설정을 저장할지 묻는다. (현재 --setup 옵션을 썼지만 다음 scan에는 setup을 생략할 수 있다.)

 

 

분석을 하게된다면 아래와 같은 출력이 나온다.

파일 경로들을 가렸지만, .swift 파일에 있는 속성이 할당되었지만 안 쓰이고 함수도 안 쓰인다는 로그를 볼 수 있다.

 

 

AI가 분명히 코드를 빠른 시간내에 작성하고 프로그램을 구현할 수 있다.

그러나 여러번 요구사항들을 요청하게 되면 불필요하게 프로그램이 복잡해져 감당할 수가 없다.

틈틈히 리팩토링을 통해 코드를 정리하는 습관이 필요하다.

또한 AI가 개발자를 대체할 것이라는 얘기가 많이 있는데
프로그램 요구사항이 100% 명확할 수가 없기 때문에 여전히 개발자는 필요할 것 같다.

 

반응형