안드로이드에서 사용하지 않는 Kotlin 및 Java 코드를 찾기 위한 빠른 CLI
Rust로 구동되는 정적 스캐너를 사용하여 Android 프로젝트 전반에 걸쳐 접근할 수 없는 Kotlin 및 Java 기호를 찾아보세요. Kevin Doremy가 만든 SearchDeadCode는 Android 개발자 워크플로우와 CI 통합을 목표로 하며, 명령줄 인터페이스를 통해 필요에 따라 스캔을 제공합니다. 이는 Android 전용 프로젝트 지원, ProGuard/R8 매핑 파일과의 하이브리드 분석, 그리고 대규모 코드베이스에서 기술 부채를 청소하는 팀을 위한 경량 설계를 결합합니다.
SearchDeadCode는 Android 코드베이스에서 무엇을 식별합니까?
SearchDeadCode는 Kotlin 및 Java 소스 파일을 분석하여 사용되지 않는 클래스, 메서드 및 필드를 찾음으로써 집중적인 죽은 코드 감지를 수행합니다. 이 도구는 프로젝트 디렉토리를 스캔하고 Android 전용 구조 및 종속성을 지원하여 도달할 수 없는 기호 목록을 생성합니다. 또한 R8 또는 ProGuard 매핑 파일을 수용하여 하이브리드 분석을 통해 결과를 개선하며, 이는 난독화된 아티팩트와 소스 식별자 간의 일치를 향상시킵니다.
스캐너가 시스템 리소스나 빌드 워크플로에 영향을 미칩니까?
Rust 구현은 실행을 빠르고 가볍게 유지합니다, 따라서 스캔은 일반적인 해석된 린터에 비해 빠르게 실행됩니다. 명령줄 프로그램이기 때문에 자동화에 적합합니다: CLI는 필요에 따라 또는 CI 파이프라인에서 호출될 수 있습니다. 배포 옵션에는 Cargo 및 플랫폼 패키지를 통한 설치가 포함되어 있어 팀이 큰 런타임 발자국 없이 기존 빌드 또는 린트 단계에 도구를 스크립트할 수 있습니다.
팀이 실제 프로젝트에서 사용하는 것이 안전하고 실용적입니까?
SearchDeadCode는 읽기 전용 분석 및 보고에 중점을 둡니다, 코드 자동 제거보다는 감지 출력을 제공합니다. 이 워크플로는 개발자가 변경하기 전에 후보를 검토할 수 있도록 하여 위험을 줄입니다. 이 도구는 대규모 Kotlin/Java 프로젝트를 처리하는 모바일 엔지니어 및 DevOps 팀을 목표로 하며, Android 인식 검사 및 매핑 파일 지원은 개발자 검토 단계와 결합될 때 생산 리포지토리에서 코드 정리에 실용적입니다.
CLI 워크플로를 수용하는 개발 팀에 적합하며, 신중한 검토 단계가 있는
SearchDeadCode는 빠르고 목표 지향적인 죽은 코드 보고서가 필요하고 명령줄 유틸리티를 실행할 수 있는 Android 엔지니어 및 빌드 팀에 적합합니다. 이는 도달할 수 없는 Kotlin 및 Java 기호의 식별 속도를 높이며, 변경 사항을 수동으로 유지하여 팀이 제거에 대한 제어를 유지할 수 있도록 합니다. 하나의 절충안은 안전한 자동 가지치기를 수행하는 대신 후보를 보고하므로 삭제 전에 코드 검토 및 테스트에 그 출력을 통합해야 합니다.