iOS 개발 중에도 사용되지 않는 코드를 감지합니다.
개요
나는 어떤 항목이든 인용되지 않은 코드가 한두 개 있다고 생각한다.
그리고 이 수가 늘어나면 소음이 많아지고 보고 싶은 코드가 보기 싫어지기 때문에 개발 효율이 떨어진다.
아마도 당신은 실장자가 사용하지 않은 코드를 제출하지 말라고 생각할 것입니다. 그러나 실장자도 사람이기 때문에 때때로 무심결에 제출하기도 합니다.그리고 사용자들도 사용하지 않은 코드를 눈치채지 못하고 앱을 하는 경우가 있다고 생각합니다.
따라서 본고는 CLI 패키지인 Periphery를 사용하여 사용되지 않은 코드를 감지하는 방법과 CI 구축에서 사용되지 않은 코드가 있으면 Pull Request에서 사용되지 않은 부분을 설명하는 방법을 소개한다.
사용할 CLI 도구
Periphery
Periphery는 코드를 사용하지 않은 Swift 시스템을 분석하는 도구입니다.
Periphery 설정
Periphery의 설치 방법은 여러 가지가 있는데 이번에는 Mint로 설치한다.
1. 생성
Mintfile
하고 다음과 같은 내용을 보충한다.peripheryapp/[email protected]
2. mint bootstrap
에 설치합니다.Danger
Danger는 Pull Request에서 미리 정해진 규칙에 따라 Auto Review를 실행하는 도구입니다.
미리 정해진 규칙으로는'Pull Request의 차이 500','Light의 규칙 준수 여부'등이 있다.
Danger 설정
1. bundler 설치 (반드시 필요한 것은 아니지만 bundler를 사용하면 관리하기 쉽다)
gem install bundler
2. Gemfile 생성bundle init
3. Gemfile에서 다음 사항을 추기gem "danger"
4. Danger 설치bundle install --path .bundle/
.bundle/
.가장 좋은 것은gitignore에git관리를 추기하지 않는 것이다.5.Gemfile 및 Gemfile제출 lock
6. Bot 사용자는 Danger 공식 페이지를 참조하여 Pull Request에 의견을 달 수 있습니다.
사용되지 않은 코드 분석
Periphery를 실행하고 그 결과를 분석하기 위해 다음 두 개의 스크립트를 만들었습니다.
run_unused_code.sh
DIR="report"
if [ ! -d $DIR ]; then
mkdir $DIR
fi
mint run periphery scan --project xxx.xcodeproj --targets ターゲット名 --schemes スキーム名 --format "xcode" > report/unused_code_report.txt
parse_unused_code_report.rbDir.mkdir('report') unless Dir.exist?('report')
system('bash Scripts/Bitrise/run_unused_code.sh')
warnings = []
File.open('report/unused_code_report.txt', mode = 'rt') do |f|
f.each_line(rs='') do |line|
warnings.push(line.chomp(rs=''))
end
end
File.open('report/parsed_unused_code_report.txt', mode = 'w') do |f|
f.write(warnings[1])
end
Dangerfile은 다음과 같습니다.Dangerfile
File.open("report/parsed_unused_code_report.txt").each do |warnings|
warnings.split("\n").each do |warning|
warn(warning)
end
end
그런 다음 CI 빌드에서 위의 스크립트를 실행합니다.이번 구상은 Bitrise에서 실시되기 때문에 Bitrise입니다.yml에서 다음과 같은 내용을 보충합니다.steps:
- script@1:
inputs:
- content: |-
gem install bundler
bundle config set path '.bundle/'
bundle install
title: Bundle install
- script@1:
inputs:
- content: 'ruby parse_unused_code_report.rb '
title: Output unused code
- script@1:
inputs:
- content: bundle exec danger --verbose
title: Run danger
이렇게 되면 다음에 사용되지 않은 코드가 있으면 Pull Request에 다음과 같은 느낌으로 리뷰를 합니다.총결산
사용되지 않은 코드를 간단하게 검사할 수 있기 때문에 반드시 가져오세요!
Reference
이 문제에 관하여(iOS 개발 중에도 사용되지 않는 코드를 감지합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ueshun/articles/0cee1105c02c3c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)