awesome-repositories.com
المدونة
MCP
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
pmd avatar

pmd/pmd

0
View on GitHub↗
pmd.github.io↗

Pmd

PMD هو محلل كود ثابت متعدد اللغات يُستخدم لتحديد عيوب البرمجة، والمتغيرات غير المستخدمة، والكود الميت دون تنفيذ البرنامج. يعمل ككاشف لرائحة الكود (code smell) ومنفذ لمعايير البرمجة، مما يضمن التزام الكود المصدري باتفاقيات تسمية محددة، ومتطلبات هيكلية، وأدلة نمط المشروع.

يتميز المشروع بمحرك قواعد قائم على XPath يسمح للمستخدمين بتعريف أنماط تحليل مخصصة باستخدام استعلامات مقابل شجرة بناء الجملة المجردة. كما يتضمن كاشفاً للنسخ واللصق لتحديد كتل الكود المكررة عبر ملفات متعددة ومصمم قواعد مرئي لإنشاء واختبار أنماط الكشف المخصصة.

يغطي سطح التحليل اكتشاف الأخطاء، وتحديد مشكلات الصيانة لتقليل الديون التقنية، والتحقق من تطبيقات الاختبار. كما يوفر قدرات لتحديد الأساليب المعقدة للغاية وقوائم المعلمات المفرطة.

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

Features

  • Static Code Analysis - Provides automated scanning of source code to detect bugs, vulnerabilities, and maintainability issues without execution.
  • AST Querying - Uses XML path language to locate specific nodes or patterns within the AST for rule validation.
  • AST XPath Engines - Provides a system for defining custom code analysis patterns using XPath queries against an abstract syntax tree.
  • Static Code Analyzers - Identifies potential bugs, unused variables, and vulnerabilities through automated multi-language linting.
  • Code Smell Detectors - Flags overly complex methods and design patterns that indicate technical debt or poor design.
  • Common Bug Detection - Analyzes source code to identify common programming bugs, unused variables, and logical errors.
  • Abstract Syntax Tree Parsing - Implements the conversion of source code into a structured tree representation for static analysis.
  • AST Visitor Patterns - Implements the visitor design pattern for programmatically traversing abstract syntax trees.
  • Coding Standards Enforcement - Ensures source code adheres to specific naming conventions, structural requirements, and project style guides.
  • Custom Analysis Rules - Provides a framework for defining custom metadata-driven rules to identify specific patterns in source code.
  • Language Support Plugins - Uses modular plugins to extend the analyzer's capability to parse additional programming languages.
  • Static Analysis Rule Engines - Provides a rule engine for defining custom code analysis patterns that inspect source code and metadata.
  • Code Duplication Reduction - Locates redundant blocks of logic and copy-paste repetitions across files to facilitate code consolidation.
  • Token-Based Duplicate Detectors - Identifies identical or near-identical code blocks by comparing tokenised source sequences across multiple files.
  • Detection Tools - Scans source files across multiple languages to find and flag copy-paste redundancies and redundant logic blocks.
  • Visual Rule Designers - Provides a visual interface for creating and testing custom analysis rules to identify specific code patterns.
  • Java-Based Rule Implementation - Provides the ability to implement complex linguistic validation logic by extending Java classes.
  • Technical Debt Analyzers - Identifies software rot and technical debt through a combination of complexity and code duplication analysis.
  • Copy-Paste Detectors - Identifies duplicated code blocks across multiple files to reduce redundancy and maintenance effort.
  • Code Analysis - Source code analysis for finding bad coding practices.
  • Static Analysis Tools - Source code analyzer for finding bad coding practices.
5,425 نجوم·1,564 تفرعات·Java·6 مشاهدات

سجل النجوم

مخطط تاريخ النجوم لـ pmd/pmdمخطط تاريخ النجوم لـ pmd/pmd

الأسئلة الشائعة

ما هي وظيفة pmd/pmd؟

PMD هو محلل كود ثابت متعدد اللغات يُستخدم لتحديد عيوب البرمجة، والمتغيرات غير المستخدمة، والكود الميت دون تنفيذ البرنامج. يعمل ككاشف لرائحة الكود (code smell) ومنفذ لمعايير البرمجة، مما يضمن التزام الكود المصدري باتفاقيات تسمية محددة، ومتطلبات هيكلية، وأدلة نمط المشروع.

ما هي الميزات الرئيسية لـ pmd/pmd؟

الميزات الرئيسية لـ pmd/pmd هي: Static Code Analysis, AST Querying, AST XPath Engines, Static Code Analyzers, Code Smell Detectors, Common Bug Detection, Abstract Syntax Tree Parsing, AST Visitor Patterns.

ما هي البدائل مفتوحة المصدر لـ pmd/pmd؟

تشمل البدائل مفتوحة المصدر لـ pmd/pmd: google/error-prone — Error Prone is a static code analyzer and Java compiler extension that identifies common programming mistakes during… pylint-dev/pylint — Pylint is a static code analyzer for Python that scans source code for errors, coding standard violations, code… jshint/jshint — JSHint is a JavaScript static analysis tool and linter designed to detect errors and enforce coding standards. It… detekt/detekt — Detekt is a static analysis tool, code quality linter, and complexity analyzer for Kotlin source code. It functions as… rrrene/credo — Credo is a static analysis tool and linter for Elixir. It functions as a code quality analyzer that scans source code… checkstyle/checkstyle — Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best…

بدائل مفتوحة المصدر لـ Pmd

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Pmd.
  • google/error-proneالصورة الرمزية لـ google

    google/error-prone

    7,182عرض على GitHub↗

    Error Prone is a static code analyzer and Java compiler extension that identifies common programming mistakes during the build process. It functions as a compiler wrapper that flags potential errors as compile-time failures to prevent bugs from reaching execution. The tool integrates directly into the Java compilation workflow to provide compile-time validation. It allows for the definition of custom linting rules and analysis checks to enforce specific coding standards and detect prohibited API usage. The system utilizes abstract syntax tree analysis and type-aware pattern matching to inspe

    Javajavastatic-analysis
    عرض على GitHub↗7,182
  • pylint-dev/pylintالصورة الرمزية لـ pylint-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

    Pythonclosembercode-qualityhacktoberfest
    عرض على GitHub↗5,685
  • jshint/jshintالصورة الرمزية لـ jshint

    jshint/jshint

    9,064عرض على GitHub↗

    JSHint is a JavaScript static analysis tool and linter designed to detect errors and enforce coding standards. It functions as a syntax validator that scans source code to identify potential logic problems and programming mistakes before the code is executed. The tool provides a command line interface for analyzing files and directories. It supports the export of analysis results into standardized formats such as Checkstyle for integration with external build tools. Analysis is managed through a system of linting rule management and environment global configuration. This includes the ability

    JavaScript
    عرض على GitHub↗9,064
  • detekt/detektالصورة الرمزية لـ detekt

    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

    Kotlin
    عرض على GitHub↗6,977
عرض جميع البدائل الـ 30 لـ Pmd→