4 dépôts
Programmatically applying edits to source code to resolve detected static analysis issues.
Distinct from Automatic Lint Fixes: Distinct from lint fixes by targeting a wider range of type and logic issues beyond just style.
Explore 4 awesome GitHub repositories matching software engineering & architecture · Automated Code Fixes. Refine with filters or upvote what's useful.
Phan est un analyseur statique et vérificateur de type pour PHP qui identifie les bugs et les incompatibilités de type sans exécuter le code. Il sert de porte de qualité pour les pipelines d'intégration continue et d'outil pour vérifier la sécurité des types, en vérifiant spécifiquement les types union, les génériques et les formes de tableaux. Le projet se distingue par l'utilisation d'un démon en arrière-plan et d'une implémentation du Language Server Protocol, qui fournissent des diagnostics et une navigation en temps réel au sein des éditeurs. Il dispose également d'un système de suppression basé sur une ligne de base (baseline) qui permet aux développeurs d'enregistrer les erreurs existantes dans un fichier instantané pour se concentrer exclusivement sur les nouvelles régressions. Le moteur d'analyse couvre un large éventail de capacités, incluant la détection de code mort, la validation de compatibilité linguistique entre différentes versions de PHP, et l'inférence de types de variables et de modèles. Il prend en charge une analyse extensible via un système de plugins et fournit des corrections de code automatisées pour un sous-ensemble de problèmes détectés. Les utilisateurs peuvent amorcer le processus en générant un fichier de configuration avec des niveaux de rigueur sélectionnables pour valider progressivement leur base de code.
Automatically resolves a subset of detected issues by applying programmatic byte-range edits to the source.
Ce projet est une ressource éducative localisée pour apprendre le langage de programmation Rust, fournissant un guide complet et des spécifications techniques traduites en chinois simplifié. Il sert d'outil pédagogique pour étudier les idiomes du langage, la gestion de la mémoire et les systèmes de types. Le dépôt se concentre sur la localisation de la documentation logicielle, convertissant les guides officiels en chinois simplifié pour accroître l'accessibilité pour les non-anglophones. Il utilise un système basé sur Markdown pour organiser le contenu et prend en charge l'export multi-format vers des formats HTML statiques, PDF et EPUB pour une visualisation web et hors ligne. Le contenu couvre un large éventail de domaines techniques de Rust, incluant les primitives de gestion de la mémoire comme l'ownership et l'emprunt (borrowing), la conception avancée du langage impliquant les traits et les génériques, et des stratégies complètes de gestion des erreurs. Il détaille également les fondamentaux de la programmation, la modélisation des données et l'utilisation d'outils de productivité pour la gestion des builds et des dépendances.
Describes the automatic application of suggested code changes to resolve compiler warnings and migrate editions.
Include What You Use est un optimiseur d'inclusions C++ et un analyseur de dépendances d'en-têtes. Il identifie les inclusions d'en-têtes inutilisées ou manquantes dans les fichiers sources pour réduire l'encombrement du projet et améliorer les performances de compilation. L'outil effectue une analyse statique en utilisant un arbre de syntaxe abstraite basé sur Clang pour mapper l'utilisation des symboles et suivre les effets du préprocesseur à travers différentes configurations de build. Il peut réécrire automatiquement les fichiers sources en insérant ou supprimant des directives de préprocesseur basées sur le graphe de dépendances calculé. Le système s'intègre aux bases de données de compilation pour déterminer les flags de compilation exacts utilisés pour chaque fichier source, permettant l'analyse et l'élagage des dépendances à travers un projet entier.
Provides a command-line interface to automatically apply source code edits that fix missing or unused includes.
Semistandard is a static analysis tool and automated code formatter designed to enforce consistent JavaScript syntax and formatting standards across a codebase. It functions as a linter that identifies deviations from established style rules and provides automated corrections to resolve formatting errors without manual intervention. The tool is distinguished by its specific focus on semicolon usage, ensuring that all statements adhere to a uniform syntax standard. It provides comprehensive style management by verifying code against predefined rules and blocking non-compliant submissions withi
Automatically modifies source files to resolve formatting violations identified during static analysis.