Ứng dụng Periphery và FengNiao để tối ưu hóa và clean code cho project iOS
Ứng dụng Periphery và FengNiao để tối ưu hóa và clean code cho project iOS
Giới thiệu#
Trong quá trình phát triển ứng dụng iOS, việc duy trì code sạch và tối ưu là một thách thức lớn. Hai công cụ mạnh mẽ Periphery và FengNiao đã trở thành giải pháp hiệu quả giúp iOS developers loại bỏ code không sử dụng, tối ưu hóa performance và giữ cho project luôn gọn gàng.
Periphery là gì?#
Periphery là một công cụ static analysis mã nguồn mở được thiết kế đặc biệt cho Swift và Objective-C. Công cụ này giúp phát hiện và loại bỏ:
Unused code (code không được sử dụng)
Dead functions và methods
Unused imports
Redundant protocols
Unused properties và variables
Tính năng chính của Periphery#
Phân tích toàn diện: Quét toàn bộ codebase để tìm ra code thừa
Hỗ trợ đa platform: Tương thích với iOS, macOS, watchOS, tvOS
Integration linh hoạt: Dễ dàng tích hợp vào CI/CD pipeline
Báo cáo chi tiết: Cung cấp thông tin cụ thể về vị trí code cần loại bỏ
FengNiao - Công cụ dọn dẹp tài nguyên iOS#
FengNiao (phượng điểu) là công cụ command-line chuyên dụng để tìm và xóa các tài nguyên không sử dụng trong iOS project, bao gồm:
Hình ảnh (images)
Sounds files
Data files
Storyboard resources
Localization files
Lợi ích của FengNiao#
Giảm kích thước app: Loại bỏ assets không dùng, giảm bundle size
Tăng tốc build time: Ít tài nguyên cần xử lý
Dễ sử dụng: Interface đơn giản, dễ cấu hình
An toàn: Kiểm tra kỹ lưỡng trước khi xóa
Hướng dẫn cài đặt và sử dụng#
Cài đặt Periphery#
`
Sử dụng Homebrew
brew install peripheryapp/periphery/periphery
Hoặc sử dụng Mint
mint install peripheryapp/periphery `
Cài đặt FengNiao#
`
Sử dụng Homebrew
brew install onevcat/tap/FengNiao
Hoặc download binary từ GitHub
`
Sử dụng Periphery#
`
Scan project để tìm unused code
periphery scan --project YourProject.xcodeproj --schemes YourScheme
Với các option tùy chỉnh
periphery scan --project YourProject.xcodeproj --schemes YourScheme --format xcode `
Sử dụng FengNiao#
`
Scan project để tìm unused resources
fengniao --project /path/to/your/project
Xóa unused resources (cẩn thận!)
fengniao --project /path/to/your/project --delete `
Workflow tối ưu để clean code iOS#
Bước 1: Phân tích với Periphery#
`
Tạo báo cáo chi tiết
periphery scan --project MyApp.xcodeproj --schemes MyApp --format json > unused_code_report.json `
Bước 2: Dọn dẹp resources với FengNiao#
`
Tìm unused assets
fengniao --project ./MyApp --force-delete-empty-folders `
Bước 3: Tích hợp vào CI/CD#
Thêm script vào .github/workflows/code_cleanup.yml:
name: Code Cleanup Check on: [pull_request] jobs: cleanup-check: runs-on: macos-latest steps: - uses: actions/checkout@v3 - name: Install Periphery run: brew install peripheryapp/periphery/periphery - name: Run Periphery run: periphery scan --project MyApp.xcodeproj --schemes MyApp
Best Practices khi sử dụng Periphery và FengNiao#
1. Backup trước khi xóa#
`
Tạo backup project
git add . && git commit -m "Backup before cleanup" `
2. Sử dụng ignore files#
Tạo .periphery.yml:
` ignore:
- "/Generated/"
- "/ThirdParty/"
- "/Pods/" `
3. Kiểm tra thủ công#
Review từng file trước khi xóa
Test ứng dụng sau khi cleanup
Kiểm tra dynamic loading code
4. Chạy định kỳ#
`
Tạo script automation
#!/bin/bash echo "Starting iOS project cleanup..." periphery scan --project MyApp.xcodeproj --schemes MyApp fengniao --project ./ --force-delete-empty-folders echo "Cleanup completed!" `
Lợi ích của việc sử dụng Periphery và FengNiao#
Performance Benefits#
Giảm build time: Ít code và resources cần compile
Giảm app size: Bundle nhỏ hơn, download nhanh hơn
Tăng tốc CI/CD: Pipeline chạy nhanh hơn
Code Quality Benefits#
Code maintainability: Dễ đọc, dễ hiểu hơn
Reduced complexity: Ít dependencies phức tạp
Better navigation: IDE hoạt động mượt mà hơn
Business Benefits#
Faster deployment: Time-to-market nhanh hơn
Lower costs: Ít tài nguyên server cần thiết
Better user experience: App khởi động nhanh hơn
Troubleshooting thường gặp#
Periphery báo false positive#
`
Sử dụng configuration file để ignore
periphery scan --config .periphery.yml `
FengNiao xóa nhầm assets#
`
Khôi phục từ git
git checkout HEAD -- path/to/deleted/file `
Integration với Xcode#
Thêm Run Script Phase:
if which periphery >/dev/null; then periphery scan --project ${PROJECT_NAME}.xcodeproj --schemes ${SCHEME_NAME} --format xcode else echo "Periphery not installed" fi
Kết luận#
Periphery và FengNiao là hai công cụ không thể thiếu trong toolkit của iOS developer hiện đại. Việc sử dụng thường xuyên hai công cụ này sẽ giúp:
Giữ codebase luôn sạch sẽ và tối ưu
Giảm thiểu technical debt
Tăng hiệu suất phát triển
Cải thiện performance ứng dụng
Hãy tích hợp Periphery và FengNiao vào workflow phát triển của bạn để trải nghiệm sự khác biệt trong việc maintain iOS project một cách chuyên nghiệp.
Tags: iOS Development, Swift, Code Optimization, Periphery, FengNiao, Clean Code, iOS Tools, Static Analysis, Performance Optimization, Mobile Development
2 phản hồi
Bài liên quan trong #Học Lập Trình
-
Mẹo dùng claude code desktop với dự án lớn
minhdev -
Hướng dẫn cài docker trên ubuntu 24
minhdev -
Hướng dẫn đầy đủ về cách cài và dùng Claude trên PC, kèm các mẹo hay!
minhdev · 💬 1 -
Cách xây dựng API cho CMS bằng Java từ A-Z
minhdev · 💬 1 -
Dể xây dựng phần mềm quản lý tài sản cho 1 doanh nghiệp ta cần làm gì
minhdev