awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

27 dépôts

Awesome GitHub RepositoriesCode Analysis and Refactoring

Tools for parsing, inspecting, and improving codebases.

Explore 27 awesome GitHub repositories matching part of an awesome list · Code Analysis and Refactoring. Refine with filters or upvote what's useful.

Awesome Code Analysis and Refactoring GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • nikic/php-parserAvatar de nikic

    nikic/PHP-Parser

    17,437Voir sur GitHub↗

    PHP-Parser is a tool that converts PHP source code into an abstract syntax tree for static analysis and programmatic manipulation. It functions as a parser, a code generator, and a static analysis framework. The project enables the programmatic construction of abstract syntax tree nodes through a fluent interface and provides the ability to transform these trees back into formatted source code. It includes a serializer that exports abstract syntax trees to JSON format and reconstructs them from strings. The toolset covers several capability areas, including namespace resolution, constant exp

    Parses source code into an abstract syntax tree.

    PHP
    Voir sur GitHub↗17,437
  • rectorphp/rectorAvatar de rectorphp

    rectorphp/rector

    10,199Voir sur GitHub↗

    Rector is an automated PHP refactoring and modernization tool designed to upgrade language versions and modernize syntax using predefined rules. It functions as a static analysis engine that inspects code structures and types to identify refactoring targets without executing the code. The project provides a framework for defining custom transformation logic to automate project-specific changes. It distinguishes itself by offering specialized capabilities for migrating legacy or custom frameworks to modern alternatives and converting docblock annotations into native language attributes. The s

    Automates code upgrades and refactoring tasks.

    PHPastautomated-upgradesinstant-upgrades
    Voir sur GitHub↗10,199
  • microsoft/vscode-goAvatar de microsoft

    microsoft/vscode-go

    5,897Voir sur GitHub↗

    Ce projet est une extension du langage Go pour VS Code qui fournit un environnement de développement complet via un client de serveur de langage, une interface de débogage et un exécuteur d'automatisation de tests. Il intègre l'intelligence linguistique, le formatage et les capacités de débogage pour prendre en charge l'intégralité du cycle de vie de développement du langage Go. L'extension se distingue par la gestion de la toolchain Go, incluant l'installation et la configuration des binaires externes requis pour les fonctionnalités linguistiques. Elle dispose également d'une interface d'automatisation de tests dédiée qui permet la génération de squelettes de tests unitaires et la visualisation des profils de couverture de code directement dans l'éditeur. Le projet couvre un large éventail de capacités incluant l'analyse statique pour le linting et le vetting, le refactoring de symboles et le formatage automatisé du code source. Il fournit des outils pour naviguer dans les paquets et les symboles, ainsi que des utilitaires pour la génération de stubs d'interface et la gestion des tags de struct. Le débogage interactif de programme est pris en charge via des points d'arrêt et le suivi des variables.

    Improves Go codebase structure through symbol renaming and function extraction.

    TypeScript
    Voir sur GitHub↗5,897
  • pycqa/pylintAvatar de PyCQA

    PyCQA/pylint

    5,685Voir sur GitHub↗

    Pylint est un outil d'analyse statique de code pour Python qui vérifie le code source pour les erreurs, les violations des normes de codage et les « code smells » sans exécuter le programme. Il analyse le code dans un arbre de syntaxe abstraite et parcourt l'arbre pour détecter les problèmes, applique des règles de style et des conventions de nommage configurables, et identifie les blocs de code dupliqués en comparant les séquences sources tokenisées. L'outil inclut également un moteur d'inférence qui déduit les types de variables en simulant les chemins de code, permettant une analyse plus approfondie même dans le code non typé. Ce qui distingue Pylint est son architecture de vérificateur basée sur des plugins, qui permet aux utilisateurs d'étendre l'analyse en chargeant des modules Python externes qui enregistrent des vérificateurs et des règles d'inférence personnalisés lors de l'exécution. Il prend en charge la superposition de fichiers de configuration, fusionnant les paramètres de plusieurs fichiers de configuration et arguments de ligne de commande afin que les valeurs par défaut à l'échelle du projet puissent être remplacées par des options locales ou spécifiques aux plugins. Pylint suit également la qualité du code au fil du temps en comparant les résultats d'analyse actuels par rapport à un score de référence stocké, signalant l'amélioration ou la régression lors des exécutions successives, et peut générer des diagrammes de classes et de paquets UML à partir de l'arbre de syntaxe abstraite dans les formats Graphviz, PlantUML ou MermaidJS. L'outil s'intègre dans les pipelines d'intégration continue et les hooks de pré-validation pour exécuter automatiquement des vérifications sur plusieurs versions de l'interpréteur Python. Il peut être installé via pip, conda ou un gestionnaire de paquets système, et offre une vérification orthographique optionnelle des identifiants de code via la bibliothèque enchant. Pylint fournit également une intégration d'éditeur pour des environnements tels qu'Emacs et TextMate, et inclut une visionneuse d'explication de message qui imprime la description complète et le contexte de tout code d'avertissement ou d'erreur spécifique directement depuis la ligne de commande.

    Identifies code smells and recommends structural changes to improve codebase maintainability.

    Python
    Voir sur GitHub↗5,685
  • rrrene/credoAvatar de rrrene

    rrrene/credo

    5,193Voir sur GitHub↗

    Credo est un outil d'analyse statique et un linter pour Elixir. Il fonctionne comme un analyseur de qualité de code qui scanne le code source pour identifier les incohérences stylistiques, les erreurs courantes et les vulnérabilités de sécurité potentielles. L'outil fournit un framework personnalisable pour définir et tester des règles spécialisées afin d'appliquer des normes de codage spécifiques au projet. Il identifie les fragments de code complexes et la duplication pour mettre en évidence les opportunités de refactorisation et de simplification. Ses capacités couvrent les revues de code automatisées, l'application des normes de codage Elixir et les retours en temps réel aux développeurs via des intégrations d'éditeurs.

    Parses and inspects the codebase to highlight complex fragments and suggest simpler implementation logic.

    Elixir
    Voir sur GitHub↗5,193
  • phpro/grumphpAvatar de phpro

    phpro/grumphp

    4,294Voir sur GitHub↗

    GrumPHP est un validateur de commits Git et un orchestrateur de qualité de code PHP. Il fonctionne comme un gestionnaire de hooks Git qui automatise l'installation et l'exécution de déclencheurs de scripts pour appliquer les normes de qualité de code au sein des projets PHP. L'outil empêche le code non conforme d'être commité en exécutant une suite de tâches de validation et de linting pendant le flux de travail Git. Il intègre des contrôles de qualité automatisés directement dans l'environnement de développement local pour maintenir les normes du projet. Le système gère les flux de travail de test pré-commit en exécutant des tests de qualité et en automatisant les hooks Git. Il utilise un pipeline basé sur des tâches pour exécuter des outils de validation et vérifie les codes de sortie pour déterminer si un commit doit être finalisé.

    Automates code quality checks during development.

    PHP
    Voir sur GitHub↗4,294
  • josefpihrt/roslynatorAvatar de JosefPihrt

    JosefPihrt/Roslynator

    3,436Voir sur GitHub↗

    Roslynator is a set of code analysis tools for C#, powered by Roslyn.

    Extensive suite of analyzers and refactorings for code quality.

    C#
    Voir sur GitHub↗3,436
  • dotnetanalyzers/stylecopanalyzersAvatar de DotNetAnalyzers

    DotNetAnalyzers/StyleCopAnalyzers

    2,848Voir sur GitHub↗

    An implementation of StyleCop rules using the .NET Compiler Platform

    Port of traditional style rules to the modern compiler platform.

    C#
    Voir sur GitHub↗2,848
  • phpactor/phpactorAvatar de phpactor

    phpactor/phpactor

    1,889Voir sur GitHub↗

    Mainly a PHP Language Server with more features than you can shake a stick at

    Provides completion, refactoring, and code introspection.

    PHP
    Voir sur GitHub↗1,889
  • dotnet/roslyn-analyzersAvatar de dotnet

    dotnet/roslyn-analyzers

    1,671Voir sur GitHub↗

    The Microsoft.CodeAnalysis.NetAnalyzers package moved into the dotnet/sdk repository for further development and respond to issues formerly in this repository.

    Official diagnostic analyzers developed by the compiler team.

    hacktoberfest
    Voir sur GitHub↗1,671
  • sveltejs/language-toolsAvatar de sveltejs

    sveltejs/language-tools

    1,431Voir sur GitHub↗

    This project is a language server implementation and code editor extension designed to provide intelligence for Svelte components. It functions as a static analysis tool that parses source code to deliver real-time feedback, automated formatting, and code navigation within development environments. The tool distinguishes itself by utilizing a virtual file system mapping that translates component files into modules, allowing standard language tools to process non-standard syntax. It integrates directly with the TypeScript compiler to perform type checking and static analysis across mixed scrip

    Analyzes source code to support precise navigation, automated refactoring, and deep type checking.

    TypeScriptlanguage-serversveltevscode-extension
    Voir sur GitHub↗1,431
  • roave/betterreflectionAvatar de Roave

    Roave/BetterReflection

    1,241Voir sur GitHub↗

    :crystal_ball: Better Reflection is a reflection API that aims to improve and provide more features than PHP's built-in reflection API.

    Allows runtime analysis and manipulation of code structures.

    PHPhacktoberfest
    Voir sur GitHub↗1,241
  • code-cracker/code-crackerAvatar de code-cracker

    code-cracker/code-cracker

    1,149Voir sur GitHub↗

    An analyzer library for C# and VB that uses Roslyn to produce refactorings, code analysis, and other niceties.

    Library providing diagnostics for performance and coding styles.

    C#
    Voir sur GitHub↗1,149
  • sergeyteplyakov/errorprone.netAvatar de SergeyTeplyakov

    SergeyTeplyakov/ErrorProne.NET

    1,117Voir sur GitHub↗

    Set of roslyn-based analyzers for catching common C# errors (inspired by Google's error-prone)

    Analyzers focused on code correctness and performance improvements.

    C#
    Voir sur GitHub↗1,117
  • cezarypiatek/mappinggeneratorAvatar de cezarypiatek

    cezarypiatek/MappingGenerator

    1,023Voir sur GitHub↗

    "AutoMapper" like, Roslyn based, code fix provider that allows to generate mapping code in design time. Read more Mapping Generator – Design Time Alternative to AutoMapper

    Automated code generation for complex object-to-object mappings.

    C#
    Voir sur GitHub↗1,023
  • sonarsource/sonar-csharpAvatar de SonarSource

    SonarSource/sonar-csharp

    909Voir sur GitHub↗

    http://redirect.sonarsource.com/plugins/csharp.html

    Static analysis extension for the SonarQube platform.

    C#
    Voir sur GitHub↗909
  • microsoft/roslynclrheapallocationanalyzerAvatar de Microsoft

    Microsoft/RoslynClrHeapAllocationAnalyzer

    654Voir sur GitHub↗

    NOTE This project is no longer maintained. The high impact analyzers from this repository are being merged with dotnet/roslyn-analyzers. As such, this repo was archived

    Detects implicit and explicit heap allocations in C# code.

    C#
    Voir sur GitHub↗654
  • icsharpcode/refactoringessentialsAvatar de icsharpcode

    icsharpcode/RefactoringEssentials

    634Voir sur GitHub↗

    Refactoring Essentials for Visual Studio

    Comprehensive collection of refactorings, analyzers, and code fixes.

    C#
    Voir sur GitHub↗634
  • povils/phpmndAvatar de povils

    povils/phpmnd

    584Voir sur GitHub↗

    PHP Magic Number Detector

    Detects magic numbers within source code.

    PHP
    Voir sur GitHub↗584
  • devster/ubenchAvatar de devster

    devster/ubench

    564Voir sur GitHub↗

    Micro PHP benchmark library

    Benchmarks small code snippets for performance.

    PHP
    Voir sur GitHub↗564
Préc.12Suivant
  1. Home
  2. Part of an Awesome List
  3. Developer Tools
  4. Code Analysis and Refactoring

Explorer les sous-tags

  • Language-Specific KataRefactoring exercises implemented in specific programming languages to demonstrate language-specific patterns. **Distinct from Code Analysis and Refactoring:** Focuses on the practice of refactoring within a specific language rather than general analysis tools.