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
·

22 Repos

Awesome GitHub RepositoriesCode Complexity Metrics

Utilities for calculating cyclomatic complexity and other structural indicators to assess maintainability.

Distinct from Aggregate Complexity Calculations: Distinct from computational complexity: focuses on software maintainability metrics rather than algorithmic performance.

Explore 22 awesome GitHub repositories matching software engineering & architecture · Code Complexity Metrics. Refine with filters or upvote what's useful.

Awesome Code Complexity Metrics GitHub Repositories

Finde die besten Repos mit KI.Wir suchen mit KI nach den am besten passenden Repositories.
  • addyosmani/agent-skillsAvatar von addyosmani

    addyosmani/agent-skills

    60,849Auf GitHub ansehen↗

    Agent-skills is a collection of structured instructions and behavioral personas designed to standardize how AI coding agents perform engineering tasks. It functions as a workflow orchestrator that maps natural language intent to repeatable technical sequences and verification checklists. The project distinguishes itself through the use of specialized markdown-defined roles, such as security auditors or test engineers, to apply targeted domain expertise. It employs an evidence-based verification model that requires runtime data or passing tests as mandatory exit criteria to ensure AI-generated

    Provides capabilities to reduce structural complexity and improve codebase readability while preserving existing behavior.

    Shellagent-skillsantigravityantigravity-ide
    Auf GitHub ansehen↗60,849
  • dietrichgebert/ponytailAvatar von DietrichGebert

    DietrichGebert/ponytail

    21,305Auf GitHub ansehen↗

    Ponytail is an LLM code simplification framework and AI agent guardrail system. It provides rules and constraints designed to stop coding agents from producing unnecessary or overly complex logic, ensuring that AI-generated code remains minimal and maintainable. The project features a codebase complexity auditor that scans repositories and code diffs to identify over-engineered patterns and suggest deletions. It also includes a technical debt ledger to track and log deferred shortcuts and cleanup tasks. The framework supports an AI code review workflow and automated code simplification. Thes

    Scans source trees for patterns of over-engineering to generate candidate lists for deletions and simplifications.

    JavaScriptagent-skillsai-agentsclaude
    Auf GitHub ansehen↗21,305
  • xi-editor/xi-editorAvatar von xi-editor

    xi-editor/xi-editor

    19,816Auf GitHub ansehen↗

    xi-editor is a high-performance text editor core written in Rust. It employs a client-server architecture that separates the backend editor logic from the user interface, allowing diverse frontends to communicate with the core via a standardized protocol. The project is distinguished by its use of rope-based text buffers for efficient manipulation of large documents and a collaborative engine powered by conflict-free replicated data types to synchronize concurrent edits. It further features an extensible plugin system that integrates external binaries and third-party tools through JSON-based

    Locates specific line numbers or calculates total line counts in logarithmic time regardless of document length.

    Rust
    Auf GitHub ansehen↗19,816
  • so-fancy/diff-so-fancyS

    so-fancy/diff-so-fancy

    18,058Auf GitHub ansehen↗

    diff-so-fancy makes your diffs human readable instead of machine readable. This helps improve code quality and helps you spot defects faster.

    Colorizes the first block of blank lines in a diff to make them visually distinct.

    Perl
    Auf GitHub ansehen↗18,058
  • federico-busato/modern-cpp-programmingAvatar von federico-busato

    federico-busato/Modern-CPP-Programming

    15,808Auf GitHub ansehen↗

    This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu

    Teaches how to calculate and interpret cyclomatic and cognitive complexity metrics to assess code maintainability.

    HTMLc-plus-pluscode-qualitycompilers
    Auf GitHub ansehen↗15,808
  • analysis-tools-dev/static-analysisAvatar von analysis-tools-dev

    analysis-tools-dev/static-analysis

    14,389Auf GitHub ansehen↗

    This project is a comprehensive, curated directory of static analysis, linting, and security scanning utilities. It serves as a central resource for developers to discover, compare, and select tools based on specific programming languages, licensing models, and integration requirements. The directory distinguishes itself by providing deep metadata for each listed utility, including community-driven popularity rankings, maintenance status, and deployment methods. By aggregating these tools into a single searchable index, it enables teams to identify solutions for enforcing coding standards, ma

    Calculates metrics to quantify maintainability and identify overly complex logic within source code.

    Rustanalysisawesome-listcode-quality
    Auf GitHub ansehen↗14,389
  • rubocop/rubocopAvatar von rubocop

    rubocop/rubocop

    12,879Auf GitHub ansehen↗

    RuboCop is a static code analyzer, linter, and formatter for the Ruby language. It identifies style violations, smells, and errors in source code to ensure consistency and maintainability based on community guidelines. The project provides automatic source code formatting to rewrite files according to defined stylistic standards. It also functions as a language server protocol implementation, surfacing violations and suggested fixes directly within code editors. The tool covers code complexity monitoring to track the size of classes and methods and employs non-inclusive language detection to

    Monitors the length of blocks, classes, and modules to prevent the creation of overly complex code structures.

    Rubycode-formatterhacktoberfestlinter
    Auf GitHub ansehen↗12,879
  • 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

    Calculates cyclomatic complexity and class coupling metrics to identify logic that requires refactoring.

    Javacode-qualitycommand-line-toolhacktoberfest
    Auf GitHub ansehen↗8,867
  • boyter/sccAvatar von boyter

    boyter/scc

    8,469Auf GitHub ansehen↗

    Scc is a codebase analysis tool written in Go that calculates source lines of code, blank lines, and comments across hundreds of programming and markup languages. It functions as a source code metric engine, software complexity analyzer, and cost estimator. The project differentiates itself by providing a COCOMO cost estimator to predict development effort and financial costs, alongside tools to estimate the cost of regenerating a codebase using large language models. It also includes a Git repository metrics tool that correlates commit history with codebase metrics to identify hotspots, trac

    Calculates source lines of code, blank lines, and comments across hundreds of programming and markup languages.

    Goclicloccode
    Auf GitHub ansehen↗8,469
  • detekt/detektAvatar von detekt

    detekt/detekt

    6,977Auf GitHub ansehen↗

    Detekt is a static analysis tool, code quality linter, and complexity analyzer for Kotlin source code. It functions as a code smell detector and static scanner designed to identify potential bugs, design flaws, and violations of coding standards without executing the program. The tool differentiates itself through the use of issue baselining, which allows users to create a snapshot of existing legacy code issues to filter out old violations and focus on preventing new regressions. It further supports extensibility via a plugin-based system that allows for the integration of custom rule sets a

    Calculates cyclomatic complexity and structural metrics to identify overly complex Kotlin logic.

    Kotlin
    Auf GitHub ansehen↗6,977
  • j178/prekAvatar von j178

    j178/prek

    6,297Auf GitHub ansehen↗

    Prek is a Git hook manager written in Rust that runs configured hooks as a single binary without requiring Python or other external runtimes. It executes hooks faster than standard tools through parallel processing and bundled Rust implementations, and includes a built-in hook repository that enables fully offline operation without network access or environment setup. The tool supports both TOML and YAML configuration formats with identical semantics, and can run hooks from existing pre-commit configuration files without modification. Prek distinguishes itself through workspace-aware monorepo

    Splits matching files across multiple hook invocations when the count exceeds a configured limit.

    Rustgitgit-hookspre-commit
    Auf GitHub ansehen↗6,297
  • pylint-dev/pylintAvatar von pylint-dev

    pylint-dev/pylint

    5,685Auf GitHub ansehen↗

    Pylint is a static code analyzer for Python that scans source code for errors, coding standard violations, code smells, and type-related issues without executing the program. It functions as a plugin-based linter framework, allowing users to extend its analysis capabilities with custom or third-party checks for project-specific rules and framework support. The tool also includes a duplicate code detector that identifies identical or near-identical code blocks across a project to help reduce redundancy. Beyond its core linting functionality, Pylint can generate UML class and package diagrams f

    Identifies code smells and patterns that could be improved for better readability, maintainability, or performance.

    Pythonclosembercode-qualityhacktoberfest
    Auf GitHub ansehen↗5,685
  • nunomaduro/phpinsightsAvatar von nunomaduro

    nunomaduro/phpinsights

    5,607Auf GitHub ansehen↗

    PhpInsights ist ein Tool zur statischen Analyse und ein Code-Qualitätsanalysator für PHP. Es bewertet Quellcode, um Fehler, Stilverstöße und technische Schulden zu identifizieren, ohne die Anwendung auszuführen. Das Tool fungiert als Dienstprogramm für Komplexitätsmetriken und berechnet die architektonische und zyklomatische Komplexität, um übermäßig komplizierte Logik zu lokalisieren. Es misst die allgemeine Softwaregesundheit und Wartbarkeit durch den Vergleich von Code mit Industriestandards. Das System verwaltet technische Schulden durch regelbasierte Validierung und metrikgesteuerte Bewertung. Es verwendet eine statische Analyse-Engine, um Quellcode zu parsen, und liefert die Ergebnisse über konsolenbasierte Berichterstattung und eine projektspezifische Konfigurationsdatei.

    Calculates cyclomatic and cognitive complexity scores to identify overly intricate logic and assess maintainability.

    PHP
    Auf GitHub ansehen↗5,607
  • rrrene/credoAvatar von rrrene

    rrrene/credo

    5,193Auf GitHub ansehen↗

    Credo ist ein Tool zur statischen Analyse und ein Linter für Elixir. Es fungiert als Code-Qualitätsanalysator, der den Quellcode scannt, um stilistische Inkonsistenzen, häufige Fehler und potenzielle Sicherheitslücken zu identifizieren. Das Tool bietet ein anpassbares Framework zum Definieren und Testen spezialisierter Regeln, um projektspezifische Codierungsstandards durchzusetzen. Es identifiziert komplexe Codefragmente und Duplikate, um Möglichkeiten für Refactoring und Vereinfachung aufzuzeigen. Seine Funktionen decken automatisierte Code-Reviews, die Durchsetzung von Elixir-Codierungsstandards und Echtzeit-Feedback für Entwickler durch Editor-Integrationen ab.

    Calculates structural indicators and complexity metrics to flag overly complex code fragments for refactoring.

    Elixir
    Auf GitHub ansehen↗5,193
  • felipe-augusto/clean-code-javascriptAvatar von felipe-augusto

    felipe-augusto/clean-code-javascript

    4,891Auf GitHub ansehen↗

    This project is a comprehensive guide and set of engineering standards for writing readable, maintainable, and scalable JavaScript code. It provides a framework for software architecture, refactoring patterns, and clean coding practices designed to improve codebase health and longevity. The guide emphasizes the application of SOLID principles and architectural strategies such as dependency inversion and the separation of concerns. It focuses on transforming complex conditional logic through polymorphism and refactoring, while promoting a transition from imperative loops to declarative functio

    Provides specific refactoring patterns to simplify complex logic and improve the readability of JavaScript codebases.

    JavaScriptclean-codejavascript
    Auf GitHub ansehen↗4,891
  • jacoco/jacocoAvatar von jacoco

    jacoco/jacoco

    4,580Auf GitHub ansehen↗

    JaCoCo ist ein Java-Code-Coverage-Tool und Bytecode-Instrumentierer, der misst, welche Teile des Quellcodes während Tests ausgeführt werden. Er fungiert als Runtime-Agent zur Überwachung der Anwendungsausführung im laufenden Betrieb oder als Bibliothek für Offline-Bytecode-Instrumentierung, wodurch er Ausführungsdaten in Umgebungen erfassen kann, in denen Runtime-Agenten eingeschränkt sind. Das Projekt zeichnet sich dadurch aus, dass es sowohl dynamische als auch statische Instrumentierungspfade zur Verfolgung der Ausführung bietet. Es enthält einen Runtime-Agenten für die Überwachung im laufenden Betrieb und die Möglichkeit, kompilierte Klassendateien vor der Ausführung zu modifizieren. Es ermöglicht zudem das Abrufen von Ausführungsmetriken aus laufenden Prozessen über Remote-Netzwerkverbindungen, ohne die aktive Anwendung zu unterbrechen. Das System berechnet quantitative Coverage-Metriken über Anweisungen, Zweige, Zeilen, Methoden und Klassen hinweg, neben Messungen der zyklomatischen Komplexität. Es bietet Funktionen zum Zusammenführen von Daten aus mehreren Testläufen, zur Durchsetzung von Coverage-Schwellenwerten innerhalb von CI/CD-Quality-Gates und zur Generierung von Berichten, die ausgeführten Bytecode auf den Quellcode zurückführen. Eine visuelle Integration ist verfügbar, um diese Ergebnisse direkt in Code-Editoren anzuzeigen. Das Tool lässt sich in Build-Automatisierungssysteme und Befehlszeilenschnittstellen integrieren, um die Datenerfassung und Berichterstellung zu automatisieren.

    Tracks whether at least one instruction in a method or one method in a class has been executed.

    Javabytecodecoveragegroovy
    Auf GitHub ansehen↗4,580
  • es-analysis/platoAvatar von es-analysis

    es-analysis/plato

    4,557Auf GitHub ansehen↗

    Plato ist ein JavaScript-Tool für statische Analysen und zur Visualisierung der Code-Komplexität. Es berechnet Komplexitätsmetriken und führt Linting-Prüfungen auf JavaScript-Quellcode durch, um die Codebasis-Qualität zu bewerten, und präsentiert die Ergebnisse über ein Dashboard für statische Analysen. Das System aggregiert Linting-Daten und technische Metriken in zeitgestempelten Berichten. Es berechnet spezifisch zyklomatische und Halstead-Metriken, um übermäßig komplizierte Dateien zu identifizieren und die Wartbarkeit eines Projekts zu bewerten. Das Tool bietet Funktionen für die Quellcode-Visualisierung, automatisierte Qualitätsberichterstattung und Wartbarkeitsbewertung. Es enthält eine Pipeline für statische Analysen, die die Metrik-Aggregation und Dateifilterung mittels regulärer Ausdrücke unterstützt.

    Computes cyclomatic and Halstead metrics to assess the maintainability and structural complexity of source code.

    JavaScript
    Auf GitHub ansehen↗4,557
  • alexanderzhou01/china-software-copyrightAvatar von AlexanderZhou01

    AlexanderZhou01/China-software-copyright

    4,365Auf GitHub ansehen↗

    Dieses Toolkit bietet eine Suite von Tools, Vorlagen und Richtlinien zur Erstellung von Dokumenten für die Software-Urheberrechtsregistrierung, die von chinesischen Behörden gefordert werden. Es automatisiert die Erstellung notwendiger rechtlicher Einreichungen und technischer Dokumentationen, um die Software-Urheberrechtsregistrierung innerhalb des chinesischen Regulierungssystems zu erleichtern. Das System enthält einen Code-Metrik-Rechner, um quantitative Daten und Zeilenzahlen aus Quelldateien für Antragsformulare zu extrahieren. Es verfügt zudem über eine Checkliste zur Einhaltung gesetzlicher Vorschriften und Verifizierungsdienstprogramme, um sicherzustellen, dass die Einreichungsmaterialien den offiziellen Formatierungs-, Paginierungs- und Header-Anforderungen entsprechen. Das Projekt deckt die Dokumentenautomatisierung durch Vorlagen für Benutzerhandbücher und Designspezifikationen sowie die Materialzuordnung ab, um spezifische Dokumentationsanforderungen basierend auf Antragstellertypen zu identifizieren.

    Calculates total lines of code and other quantitative metrics required for software copyright application forms.

    Auf GitHub ansehen↗4,365
  • show-me-the-code/pythonAvatar von Show-Me-the-Code

    Show-Me-the-Code/python

    4,226Auf GitHub ansehen↗

    This project is a curated library of Python code examples, educational resources, and programming tutorials. It functions as an educational repository designed to teach Python language fundamentals through practical implementation tasks, real-world exercises, and functional code snippets. The collection covers a diverse range of implementation examples, including the development of interactive websites and message boards using web frameworks. It also features scripts for audio speech processing, automated media processing for images, and the extraction of data from web content. Additional ca

    Scans source files and reports total, blank, and comment line counts.

    HTML
    Auf GitHub ansehen↗4,226
  • compodoc/compodocAvatar von compodoc

    compodoc/compodoc

    4,113Auf GitHub ansehen↗

    Compodoc ist ein TypeScript-API-Dokumentationsgenerator, Static-Site-Generator und Visualisierungstool für Projektarchitekturen. Es analysiert Quellcode und JSDoc-Kommentare, um durchsuchbare technische Referenzseiten, API-Kataloge und eigenständige HTML-Seiten zu erstellen. Das Projekt zeichnet sich durch die Analyse von Import-Statements aus, um Abhängigkeitsgraphen und Modulkarten zu erstellen, die die strukturellen Beziehungen innerhalb einer Codebasis veranschaulichen. Es bietet spezialisierte Unterstützung für die Visualisierung von Angular-Projekten, NestJS-Workflows und Stencil-Webkomponenten und kann funktionierende Live-Demos direkt in Dokumentationsseiten einbetten. Das System fungiert zudem als Analysetool für die Dokumentationsabdeckung, liefert Berichte und erzwingt Mindest-Coverage-Schwellenwerte innerhalb von CI-Pipelines, um Builds bei unzureichender Dokumentation fehlschlagen zu lassen. Weitere Funktionen umfassen Markdown-Integration, Datenexport in JSON oder Markdown sowie einen lokalen Entwicklungsserver mit Dateisystem-Monitoring für automatische Rebuilds. Nutzer können die Ausgabe über Konfigurationsdateien, benutzerdefiniertes CSS-Styling und Filter für die Sichtbarkeit von Elementen anpassen, um bestimmte Symbole oder interne Tags von der finalen Seite auszuschließen.

    Calculates the ratio of documentation comments to source code statements to identify gaps.

    TypeScript
    Auf GitHub ansehen↗4,113
Vorherige12Nächste
  1. Home
  2. Software Engineering & Architecture
  3. Code Complexity Metrics

Unter-Tags erkunden

  • Boolean Expression Complexity Limits1 Sub-TagConstraints on the number of operators within a single boolean expression to prevent overly complex logic. **Distinct from Code Complexity Metrics:** Specifically targets the length/complexity of a single boolean expression rather than overall structural metrics
  • Exception Complexity Limits1 Sub-TagConstraints on the number of exceptions declared in a method signature to simplify error handling. **Distinct from Code Complexity Metrics:** Specifically limits the throws clause rather than calculating overall cyclomatic complexity
  • Method Count Limits2 Sub-TagsConstraints on the maximum number of methods allowed within a type declaration to prevent class bloating. **Distinct from Exception Complexity Limits:** Distinct from Exception Complexity Limits: limits the quantity of methods in a class rather than the number of exceptions in a method signature
  • Over-engineering DetectionScanning tools that identify patterns of unnecessary complexity to suggest deletions. **Distinct from Code Complexity Metrics:** Distinct from Code Complexity Metrics: identifies specific patterns for deletion rather than just calculating structural metrics like cyclomatic complexity.
  • Readability RefactoringsTechniques for reducing structural complexity and improving code clarity without altering original behavior. **Distinct from Code Complexity Metrics:** Focuses on the act of simplifying code for humans, rather than just measuring complexity metrics.
  • Source Statement Metrics5 Sub-TagsQuantitative measurement of the number of non-commenting statements to determine the size of methods and classes. **Distinct from Code Complexity Metrics:** Focuses specifically on statement counting (size), distinct from the logic-branching focus of cyclomatic complexity.