awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
peripheryapp avatar

peripheryapp/periphery

0
View on GitHub↗
6,145 Stars·230 Forks·Swift·MIT·3 Aufrufe

Periphery

Periphery ist ein statisches Analysetool und ein Detektor für toten Code in Swift-Projekten. Es identifiziert nicht referenzierte Klassen, Structs, Funktionen und Eigenschaften und dient als API-Oberflächen-Optimierer, um öffentliche Deklarationen zu finden, die auf internen Zugriff beschränkt werden können.

Das Tool umfasst spezialisierte Scans für Interface-Builder-Dateien wie Storyboards und XIBs, um sicherzustellen, dass UI-verknüpfte Elemente nicht fälschlicherweise als ungenutzt markiert werden. Es bietet zudem eine automatisierte Code-Bereinigung, um identifizierten toten Code und ungenutzte Parameter direkt aus den Quelldateien zu entfernen.

Die Analysefunktionen decken die Erkennung redundanter Protokolle, ungenutzter Enum-Cases, unnötiger Imports und Eigenschaften, die nur zugewiesen, aber nie gelesen werden, ab. Das System verwaltet technische Schulden durch Baseline-Vergleichsfilter und unterstützt Projekte mit gemischten Sprachen, indem es Symbole bewahrt, die für die Objective-C-Runtime exponiert sind.

Periphery lässt sich über YAML-basierte Konfigurationen in Build-Systeme und CI-Pipelines integrieren und kann Analyseergebnisse in mehreren Industriestandard-Formaten exportieren.

Features

  • Dead Code Cleanup - Statically analyzes Swift projects to identify unreferenced classes, structs, functions, and properties.
  • Call Graph Traversals - Identifies unreferenced symbols by building and traversing a dependency graph of declarations and their call sites.
  • Unused Code Identification - Uses binary index store data to identify unused code without requiring a full project rebuild.
  • Swift Linters - Provides static analysis of Swift project graphs to find redundant declarations and unused imports.
  • Compiler Index Store Integration - Processes binary index stores from the Swift compiler to efficiently determine symbol usage.
  • Interface Builder Parsing - Scans Storyboard and XIB files to ensure UI-connected members are not incorrectly flagged as unused.
  • Redundant Accessibility Detection - Identifies declarations marked public that are never referenced from outside their home module.
  • Accessibility Level Analysis - Swift Unused Code Detector identifies public declarations that can be made private because they are only used internally.
  • API Surface Reduction - Identifies public declarations that can be restricted to internal access to optimize the module's API surface.
  • Dead Code Removal - Automatically removes identified dead code and unused parameters directly from Swift source files.
  • Interface Builder Analyzers - Parses XIB and storyboard files to ensure UI-connected members are not incorrectly flagged as unused.
  • Mixed-Language Project Support - Retains declarations accessible to the runtime to prevent false positives in multi-language codebases.
  • Assign-Only Property Detection - Identifies properties that are assigned values but never read, including those in structs with synthesized initializers.
  • Redundant Protocol Detection - Identifies protocols that are conformed to but never used as existential types or for generic specialization.
  • Runtime Interop Analysis - Preserves symbols exposed to the Objective-C runtime to prevent false positives in mixed-language projects.
  • Synthesized Code Handling - Preserves properties on types with compiler-generated code to avoid marking synthesized members as unused.
  • Unused Enum Case Detection - Identifies individual cases within non-raw-representable enumerations that are never referenced.
  • Unused Import Detection - Identifies import statements that are not required by any declaration in the source file.
  • Unused Parameter Detection - Identifies parameters in functions, protocols, and overridden methods that are never accessed.
  • Baseline-Based Debt Management - Provides a mechanism to track known unused code in a baseline file to isolate new regressions from legacy debt.
  • General Utilities - Identifies unused code in Swift projects.

Star-Verlauf

Star-Verlauf für peripheryapp/peripheryStar-Verlauf für peripheryapp/periphery

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Periphery

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Periphery.
  • jendrikseipp/vultureAvatar von jendrikseipp

    jendrikseipp/vulture

    4,655Auf GitHub ansehen↗

    Vulture is a static analysis tool and linter designed to find unused variables, functions, and classes in Python source code. It operates as a dead code detector and unused code finder that scans source files to identify unreachable expressions and imports without executing the code. The tool employs a confidence-based heuristic scoring system to assign probability values to detections, helping to distinguish truly unused symbols from potential false positives. It further assists in pruning dead logic by sorting detected unused classes and functions by line count to prioritize the removal of

    Pythondead-code-removalpython
    Auf GitHub ansehen↗4,655
  • crate-ci/typosAvatar von crate-ci

    crate-ci/typos

    4,002Auf GitHub ansehen↗

    Typos is a source code spell checker and automated typo fixer designed to detect and correct spelling errors across programming languages and project files. It functions as a CI spelling validator and SARIF compatible linter, allowing projects to prevent misspelled text from reaching production. The tool features a customizable dictionary engine that utilizes TOML configuration and locale-specific dictionaries to manage project-specific terminology. It differentiates itself by splitting programming language identifiers into individual words for validation and verifying the spelling of filenam

    Rust
    Auf GitHub ansehen↗4,002
  • go-task/taskAvatar von go-task

    go-task/task

    15,721Auf GitHub ansehen↗

    Task is a YAML-based task runner and build tool used to define and automate development workflows. It functions as a dependency-based build system and cross-platform task automator, allowing users to execute shell commands across different operating systems using a declarative configuration file. The project operates as an incremental build tool, utilizing file fingerprints and checksums to track state and avoid redundant work by determining if tasks are up to date. It manages execution via a dependency graph to ensure prerequisites are completed before target commands run. The system includ

    Go
    Auf GitHub ansehen↗15,721
  • checkstyle/checkstyleAvatar von checkstyle

    checkstyle/checkstyle

    8,867Auf GitHub ansehen↗

    Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best practices. It functions as a code quality auditor and Javadoc validation tool, checking source code against configurable rulesets to ensure structural and stylistic consistency. The project allows for the creation of custom linting rules by extending a core API to inspect the abstract syntax tree. It further enables specialized validation through the use of XPath expressions to query the syntax tree for specific code patterns and violations. Capability areas include the enforcement

    Javacode-qualitycommand-line-toolhacktoberfest
    Auf GitHub ansehen↗8,867
Alle 30 Alternativen zu Periphery anzeigen→

Häufig gestellte Fragen

Was macht peripheryapp/periphery?

Periphery ist ein statisches Analysetool und ein Detektor für toten Code in Swift-Projekten. Es identifiziert nicht referenzierte Klassen, Structs, Funktionen und Eigenschaften und dient als API-Oberflächen-Optimierer, um öffentliche Deklarationen zu finden, die auf internen Zugriff beschränkt werden können.

Was sind die Hauptfunktionen von peripheryapp/periphery?

Die Hauptfunktionen von peripheryapp/periphery sind: Dead Code Cleanup, Call Graph Traversals, Unused Code Identification, Swift Linters, Compiler Index Store Integration, Interface Builder Parsing, Redundant Accessibility Detection, Accessibility Level Analysis.

Welche Open-Source-Alternativen gibt es zu peripheryapp/periphery?

Open-Source-Alternativen zu peripheryapp/periphery sind unter anderem: jendrikseipp/vulture — Vulture is a static analysis tool and linter designed to find unused variables, functions, and classes in Python… crate-ci/typos — Typos is a source code spell checker and automated typo fixer designed to detect and correct spelling errors across… go-task/task — Task is a YAML-based task runner and build tool used to define and automate development workflows. It functions as a… squizlabs/php_codesniffer — PHP_CodeSniffer is a static analysis tool, coding standard linter, and command-line validator for PHP. It scans files… checkstyle/checkstyle — Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best… pycqa/pylint — Pylint is a static code analysis tool for Python that checks source code for errors, coding standard violations, and…