22 مستودعات
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
PhpInsights هي أداة تحليل ثابت ومحلل جودة كود لـ PHP. تقيم الكود المصدري لتحديد الأخطاء، وانتهاكات الأسلوب، والديون التقنية دون تنفيذ التطبيق. تعمل الأداة كأداة لمقاييس التعقيد، حيث تحسب التعقيد المعماري والتعقيد الدوري (cyclomatic complexity) لتحديد المنطق المعقد بشكل مفرط. تقيس صحة البرمجيات الإجمالية وقابليتها للصيانة من خلال مقارنة الكود بمعايير الصناعة. يدير النظام الديون التقنية من خلال التحقق القائم على القواعد والتسجيل القائم على المقاييس. يستخدم محرك تحليل ثابت لتحليل الكود المصدري، وتقديم النتائج عبر التقارير القائمة على وحدة التحكم وملف تكوين خاص بالمشروع.
Calculates cyclomatic and cognitive complexity scores to identify overly intricate logic and assess maintainability.
Credo هي أداة تحليل ساكن ومدقق كود (linter) لـ Elixir. تعمل كمحلل لجودة الكود يقوم بمسح الكود المصدري لتحديد التناقضات الأسلوبية، والأخطاء الشائعة، والثغرات الأمنية المحتملة. توفر الأداة إطار عمل قابلاً للتخصيص لتعريف واختبار قواعد متخصصة لفرض معايير ترميز خاصة بالمشروع. تحدد أجزاء الكود المعقدة والتكرار لتسليط الضوء على فرص إعادة الهيكلة والتبسيط. تغطي إمكانياتها مراجعات الكود المؤتمتة، وفرض معايير ترميز Elixir، وردود الفعل الفورية للمطورين من خلال تكاملات المحرر.
Calculates structural indicators and complexity metrics to flag overly complex code fragments for refactoring.
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.
JaCoCo هو أداة تغطية كود Java ومعدل bytecode يقيس أجزاء الكود المصدري التي يتم تنفيذها أثناء الاختبارات. يعمل كوكيل وقت تشغيل لمراقبة تنفيذ التطبيق أثناء التشغيل أو كمكتبة لتعديل bytecode دون اتصال، مما يسمح له بالتقاط بيانات التنفيذ في البيئات التي يتم فيها تقييد وكلاء وقت التشغيل. يتميز المشروع بتوفير مسارات تعديل ديناميكية وثابتة لتتبع التنفيذ. يتضمن وكيلاً لوقت التشغيل للمراقبة أثناء التشغيل والقدرة على تعديل ملفات الفئة المجمعة قبل التنفيذ. كما يتيح استرداد مقاييس التنفيذ من العمليات الجارية عبر اتصالات الشبكة البعيدة دون مقاطعة التطبيق النشط. يحسب النظام مقاييس تغطية كمية عبر التعليمات، والفروع، والأسطر، والأساليب، والفئات، إلى جانب قياسات التعقيد الدوري. يوفر قدرات لدمج البيانات من عمليات اختبار متعددة، وفرض عتبات التغطية داخل بوابات جودة CI/CD، وإنشاء تقارير تعين bytecode المنفذ مرة أخرى إلى الكود المصدري. يتوفر تكامل بصري لعرض هذه النتائج مباشرة داخل محررات الكود. تتكامل الأداة مع أنظمة أتمتة البناء وواجهات سطر الأوامر لأتمتة جمع البيانات وإنشاء التقارير.
Tracks whether at least one instruction in a method or one method in a class has been executed.
Plato هو أداة تحليل ثابت لـ JavaScript ومصور لتعقيد الكود. يقوم بحساب مقاييس التعقيد وتشغيل فحوصات lint على كود مصدر JavaScript لتقييم جودة قاعدة الكود، مع تقديم النتائج من خلال لوحة تحكم للتحليل الثابت. يجمع النظام بيانات lint والمقاييس التقنية في تقارير مؤرخة. يقوم بحساب مقاييس cyclomatic وHalstead تحديداً لتحديد الملفات المعقدة بشكل مفرط وتقييم قابلية صيانة المشروع. توفر الأداة قدرات لتصور الكود المصدري، وإعداد تقارير الجودة الآلية، وتقييم قابلية الصيانة. تتضمن خط أنابيب تحليل ثابت يدعم تجميع المقاييس وتصفية الملفات عبر التعبيرات النمطية.
Computes cyclomatic and Halstead metrics to assess the maintainability and structural complexity of source code.
توفر مجموعة الأدوات هذه مجموعة من الأدوات والقوالب والمبادئ التوجيهية لإعداد مستندات تسجيل حقوق الطبع والنشر للبرمجيات المطلوبة من قبل السلطات الصينية. وهي تؤتمت إنشاء الملفات القانونية اللازمة والوثائق التقنية لتسهيل تسجيل حقوق الطبع والنشر للبرمجيات داخل النظام التنظيمي الصيني. يتضمن النظام حاسبة لمقاييس الكود لاستخراج البيانات الكمية وعدد الأسطر من ملفات المصدر لنماذج الطلبات. كما يتميز بقائمة مراجعة للامتثال القانوني وأدوات تحقق لضمان التزام مواد التقديم بمتطلبات التنسيق والترقيم والعناوين الرسمية. يغطي المشروع أتمتة المستندات من خلال قوالب لأدلة المستخدم ومواصفات التصميم، بالإضافة إلى تعيين المواد لتحديد متطلبات التوثيق المحددة بناءً على أنواع المتقدمين.
Calculates total lines of code and other quantitative metrics required for software copyright application forms.
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.
Compodoc هو مولد توثيق API لـ TypeScript، ومولد مواقع ثابتة، ومصور معمارية المشروع. يقوم بتحليل الكود المصدري وتعليقات JSDoc لإنشاء مواقع مرجعية تقنية قابلة للبحث، وكتالوجات API، وصفحات HTML مستقلة. يتميز المشروع بتحليل عبارات الاستيراد لإنتاج رسوم بيانية للتبعيات وخرائط الوحدات التي توضح العلاقات الهيكلية داخل قاعدة الكود. يتضمن دعماً متخصصاً لتصور مشاريع Angular، وسير عمل NestJS، ومكونات Stencil للويب، ويمكنه تضمين عروض توضيحية حية مباشرة في صفحات التوثيق. يعمل النظام أيضاً كمحلل لتغطية التوثيق، حيث يوفر تقارير ويفرض حد أدنى من عتبات التغطية داخل خطوط أنابيب التكامل المستمر (CI) لإفشال عمليات البناء إذا كانت مستويات التوثيق غير كافية. تشمل القدرات الإضافية تكامل Markdown، وتصدير البيانات بتنسيقات متعددة إلى JSON أو Markdown، وخادم تطوير محلي مع مراقبة نظام الملفات لإعادة البناء التلقائي. يمكن للمستخدمين تخصيص المخرجات من خلال ملفات التكوين، وتصميم CSS مخصص، وتصفية رؤية العناصر لاستبعاد رموز معينة أو علامات داخلية من الموقع النهائي.
Calculates the ratio of documentation comments to source code statements to identify gaps.