awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

23 个仓库

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 23 awesome GitHub repositories matching software engineering & architecture · Code Complexity Metrics. Refine with filters or upvote what's useful.

Awesome Code Complexity Metrics GitHub Repositories

用 AI 发现最棒的仓库。我们将通过 AI 为您搜索最匹配的仓库。
  • addyosmani/agent-skillsaddyosmani 的头像

    addyosmani/agent-skills

    60,849在 GitHub 上查看↗

    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
    在 GitHub 上查看↗60,849
  • dietrichgebert/ponytailDietrichGebert 的头像

    DietrichGebert/ponytail

    21,305在 GitHub 上查看↗

    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
    在 GitHub 上查看↗21,305
  • xi-editor/xi-editorxi-editor 的头像

    xi-editor/xi-editor

    19,816在 GitHub 上查看↗

    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
    在 GitHub 上查看↗19,816
  • so-fancy/diff-so-fancyS

    so-fancy/diff-so-fancy

    18,058在 GitHub 上查看↗

    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
    在 GitHub 上查看↗18,058
  • federico-busato/modern-cpp-programmingfederico-busato 的头像

    federico-busato/Modern-CPP-Programming

    15,808在 GitHub 上查看↗

    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
    在 GitHub 上查看↗15,808
  • analysis-tools-dev/static-analysisanalysis-tools-dev 的头像

    analysis-tools-dev/static-analysis

    14,389在 GitHub 上查看↗

    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
    在 GitHub 上查看↗14,389
  • rubocop/rubocoprubocop 的头像

    rubocop/rubocop

    12,879在 GitHub 上查看↗

    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
    在 GitHub 上查看↗12,879
  • checkstyle/checkstylecheckstyle 的头像

    checkstyle/checkstyle

    8,867在 GitHub 上查看↗

    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
    在 GitHub 上查看↗8,867
  • boyter/sccboyter 的头像

    boyter/scc

    8,469在 GitHub 上查看↗

    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
    在 GitHub 上查看↗8,469
  • detekt/detektdetekt 的头像

    detekt/detekt

    6,977在 GitHub 上查看↗

    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
    在 GitHub 上查看↗6,977
  • j178/prekj178 的头像

    j178/prek

    6,297在 GitHub 上查看↗

    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
    在 GitHub 上查看↗6,297
  • pylint-dev/pylintpylint-dev 的头像

    pylint-dev/pylint

    5,685在 GitHub 上查看↗

    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
    在 GitHub 上查看↗5,685
  • nunomaduro/phpinsightsnunomaduro 的头像

    nunomaduro/phpinsights

    5,607在 GitHub 上查看↗

    PhpInsights is a static analysis tool and code quality analyzer for PHP. It evaluates source code to identify bugs, style violations, and technical debt without executing the application. The tool functions as a complexity metric utility, calculating architectural and cyclomatic complexity to locate overly complicated logic. It measures overall software health and maintainability by comparing code against industry standards. The system manages technical debt through rule-based validation and metric-driven scoring. It uses a static analysis engine to parse source code, delivering the results

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

    PHP
    在 GitHub 上查看↗5,607
  • rrrene/credorrrene 的头像

    rrrene/credo

    5,193在 GitHub 上查看↗

    Credo 是一个用于 Elixir 的静态分析工具和 Linter。它作为一个代码质量分析器,扫描源代码以识别风格不一致、常见错误和潜在的安全漏洞。 该工具提供了一个可定制的框架,用于定义和测试专门的规则,以强制执行项目特定的编码标准。它识别复杂的代码片段和重复代码,以突出重构和简化的机会。 其功能涵盖自动化代码审查、Elixir 编码标准的强制执行,以及通过编辑器集成提供的实时开发者反馈。

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

    Elixir
    在 GitHub 上查看↗5,193
  • felipe-augusto/clean-code-javascriptfelipe-augusto 的头像

    felipe-augusto/clean-code-javascript

    4,891在 GitHub 上查看↗

    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
    在 GitHub 上查看↗4,891
  • jacoco/jacocojacoco 的头像

    jacoco/jacoco

    4,580在 GitHub 上查看↗

    JaCoCo 是一个 Java 代码覆盖率工具和字节码插桩工具,用于衡量测试过程中执行了源代码的哪些部分。它既可以作为运行时代理来实时监控应用执行,也可以作为离线字节码插桩库,从而在受限的运行时环境中捕获执行数据。 该项目的特点是提供动态和静态两种插桩路径来跟踪执行情况。它包含一个用于实时监控的运行时代理,并具备在执行前修改已编译类文件的能力。此外,它还支持在不中断活动应用的情况下,通过远程网络连接从运行中的进程检索执行指标。 该系统可计算指令、分支、行、方法和类级别的定量覆盖率指标,以及圈复杂度。它提供了合并多次测试运行数据、在 CI/CD 质量门禁中强制执行覆盖率阈值,以及生成将执行的字节码映射回源代码的报告等功能。此外,它还支持将结果直接显示在代码编辑器中的可视化集成。 该工具与构建自动化系统和命令行接口集成,以实现数据收集和报告生成的自动化。

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

    Javabytecodecoveragegroovy
    在 GitHub 上查看↗4,580
  • es-analysis/platoes-analysis 的头像

    es-analysis/plato

    4,557在 GitHub 上查看↗

    Plato 是一个 JavaScript 静态分析工具和代码复杂度可视化工具。它计算复杂度指标并对 JavaScript 源代码运行 Lint 检查以评估代码库质量,通过静态分析仪表板呈现结果。 该系统将 Lint 数据和技术指标聚合到带时间戳的报告中。它专门计算圈复杂度(cyclomatic complexity)和 Halstead 指标,以识别过于复杂的文件并评估项目的可维护性。 该工具提供了源代码可视化、自动化质量报告和可维护性评估的功能。它包括一个静态分析流水线,支持通过正则表达式进行指标聚合和文件过滤。

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

    JavaScript
    在 GitHub 上查看↗4,557
  • alexanderzhou01/china-software-copyrightAlexanderZhou01 的头像

    AlexanderZhou01/China-software-copyright

    4,365在 GitHub 上查看↗

    该工具包提供了一套工具、模板和指南,用于准备中国监管机构要求的软件著作权登记文件。它自动化了必要法律申报材料和技术文档的创建,以促进中国监管体系内的软件著作权登记。 该系统包括一个代码度量计算器,用于从源文件中提取定量数据和行数以用于申请表。它还具有法律合规性检查清单和验证工具,以确保提交材料符合官方的格式、分页和页眉要求。 该项目通过用户手册和设计规范模板涵盖了文档自动化,以及根据申请人类型识别特定文档要求的材料映射。

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

    在 GitHub 上查看↗4,365
  • show-me-the-code/pythonShow-Me-the-Code 的头像

    Show-Me-the-Code/python

    4,226在 GitHub 上查看↗

    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
    在 GitHub 上查看↗4,226
  • compodoc/compodoccompodoc 的头像

    compodoc/compodoc

    4,113在 GitHub 上查看↗

    Compodoc 是一个 TypeScript API 文档生成器、静态站点生成器和项目架构可视化工具。它解析源代码和 JSDoc 注释,以创建可搜索的技术参考站点、API 目录和独立 HTML 页面。 该项目通过分析 import 语句来生成依赖图和模块映射,从而展示代码库内的结构关系,这使其脱颖而出。它包括对可视化 Angular 项目、NestJS 工作流和 Stencil Web 组件的专门支持,并可将实时工作演示直接嵌入到文档页面中。 该系统还充当文档覆盖率分析器,提供报告并在持续集成流水线中强制执行最低覆盖率阈值,如果文档水平不足则导致构建失败。其他功能包括 Markdown 集成、多格式数据导出(JSON 或 Markdown),以及带有文件系统监控以实现自动重建的本地开发服务器。 用户可以通过配置文件、自定义 CSS 样式和元素可见性过滤来自定义输出,以从最终站点中排除特定符号或内部标签。

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

    TypeScript
    在 GitHub 上查看↗4,113
上一个12下一个
  1. Home
  2. Software Engineering & Architecture
  3. Code Complexity Metrics

探索子标签

  • Boolean Expression Complexity Limits1 个子标签Constraints 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 个子标签Constraints 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 个子标签Constraints 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 个子标签Quantitative 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.