Skip to main content

Verantwortungsvolle Verwendung der GitHub-Codequalität

Verwenden Sie verantwortungsbewusst, indem Sie GitHub Code Quality ihre Zwecke, Funktionen und Einschränkungen verstehen.

Hinweis

          GitHub Code Quality ist derzeit in öffentliche Vorschau und kann geändert werden.

Während öffentliche Vorschau, Code Quality wird nicht in Rechnung gestellt, obwohl Code Quality Scans Minuten verbrauchen GitHub Actions .

Informationen zum GitHub Code Quality

          GitHub Code Quality Hilft Benutzern, die Codesicherheit, die Wartungsfreundlichkeit und die allgemeine Projektintegrität zu verbessern, indem sie umsetzbares Feedback aufrufen und automatische Korrekturen für alle Ergebnisse in Pullanforderungen und in der Standardverzweigung anbieten.

Wenn Sie dies aktivieren Code Quality, werden zwei Arten von Analyseausführungen ausgeführt:

  •         **
            CodeQL Qualitätsabfragen** werden mithilfe von code scanning Analysen ausgeführt und identifizieren Probleme mit der Wartung, Zuverlässigkeit oder Codeformatvorlage. Dies wird für geänderten Code in allen Pull-Requests für den Standardzweig ausgeführt. Wird auch regelmäßig auf der kompletten Standardzweig ausgeführt.
    
  •         **Die LLM-basierte Analyse (Large Language Model)** bietet zusätzliche Einblicke in potenzielle Qualitätsbedenken, die über das hinausgehen, was von deterministischen Engines wie CodeQLz. B. abgedeckt wird. Dies wird automatisch für Dateien ausgeführt, die bei den letzten Übertragungen auf den Standardzweig geändert wurden. Diese Ergebnisse werden auf der **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality** Registerkarte des Repositorys **KI-Ergebnisse** im Code QualityDashboard angezeigt.
    

Wenn ein Qualitätsproblem von beiden Analysetypen erkannt wird, schlägt eine relevante Lösung vor, Copilot Autofix die von Entwicklern überprüft und angewendet werden kann.

Bei Pullanforderungen Code Quality werden die Ergebnisse von dem github-code-quality Bot nach Möglichkeit als Kommentare angezeigt, die ein vorgeschlagenes AutoFix enthalten.

LLM-basierte Analyse für aktuelle Pushes

Nach jedem Push auf den Standardverzweigung analysiert das LLM zuletzt geänderte Dateien auf Wartbarkeit, Zuverlässigkeit und andere Qualitätsprobleme. Code Quality überprüft Ihren Code und gibt Feedback mithilfe einer Kombination aus natürlicher Sprachverarbeitung und maschinellem Lernen.

Eingabeverarbeitung

Die Codeänderungen werden mit anderen relevanten kontextbezogenen Informationen kombiniert, um eine Eingabeaufforderung zu bilden, und diese Aufforderung wird an ein großes Sprachmodell gesendet.

Sprachmodellanalyse

Die Eingabeaufforderung wird dann über das Copilot Sprachmodell übergeben, bei dem es sich um ein neurales Netzwerk handelt, das auf einem großen Textkörper trainiert wurde. Das Sprachmodell analysiert die Eingabeaufforderung.

Reaktionsgenerierung

Das Sprachmodell generiert basierend auf seiner Analyse der Eingabeaufforderung eine Antwort. Diese Antwort kann in Form von Vorschlägen in natürlicher Sprache und Codevorschlägen erfolgen.

Ausgabeformatierung

Die vom Code Quality Benutzer generierte Antwort wird dem Benutzer direkt angezeigt und stellt Codefeedback bereit, das mit bestimmten Zeilen bestimmter Dateien verknüpft ist. Wenn Code Quality ein Codevorschlag bereitgestellt wurde, wird der Vorschlag als vorgeschlagene Änderung dargestellt, die mit ein paar Klicks angewendet werden kann.

          GitHub Copilot Autofix Vorschläge

Bei Pull-Anforderungen senden ergebnisse, die von der Analyse gefunden wurdencode scanning, Code Quality Eingaben an die LLM. Wenn der LLM einen potenziellen Fix generieren kann, sendet der github-code-quality Bot einen Kommentar mit einer vorgeschlagenen Änderung direkt in der Pull-Anforderung.

Darüber hinaus können Benutzer die Autofix-Generierung für Ergebnisse im Hauptzweig anfordern.

Weitere Informationen zum Erstellungsprozess für Vorschläge GitHub Copilot Autofixfinden Sie unter Verantwortungsbewusste Nutzung von Copilot Autofix für das Scannen von Code.

Anwendungsfall für GitHub Code Quality

Das Ziel ist GitHub Code Quality :

  • Probleme mit der Oberflächencodequalität in Ihrem Repository, sodass Entwickler und Repositoryadministratoren schnell Bereiche des Risikos identifizieren, priorisieren und melden können.
  • Beschleunigen Sie die Korrekturarbeit, indem Sie Vorschläge für Ergebnisse anbieten Copilot Autofix , die von Scans der Standardverzweigung gefunden wurden, sowie auf Ergebnisse in den letzten Pushvorgängen an die Standardverzweigung.
  • Stellen Sie schnell umsetzbares Feedback zum Code eines Entwicklers bereit. Bei Pullanforderungen werden Informationen zu bewährten Methoden mit Details zur Codebasis und den Ergebnissen kombiniert, Code Quality um dem Entwickler einen potenziellen Fix vorzuschlagen.

Verbessern der Leistung von GitHub Code Quality

Wenn Probleme oder Einschränkungen mit vorgeschlagenen Änderungen in Pull-Requests auftreten, empfehlen wir, Feedback mithilfe der Daumen hoch und Daumen runter Schaltflächen in den Kommentaren des github-code-quality Bots bereitzustellen. Dies kann dazu beitragen GitHub , das Tool zu verbessern und alle Bedenken oder Einschränkungen zu beheben.

Einschränkungen von GitHub Code Quality

Einschränkungen der Code QualityLLM-basierten Analyse

          Code QualityDie LLM-basierte Analyse verwendet das gleiche zugrunde liegende Sprachmodell und das analysemodul wie GitHub Copilot Codeüberprüfung. Daher teilt sie ähnliche Einschränkungen bei der Analyse der Codequalität. Zu den wichtigsten Überlegungen gehören:
  • Unvollständige Erkennung
  • Falsch-positive Ergebnisse
  • Genauigkeit von Codevorschlagen
  • Potenzielle Verzerrungen

Ausführliche Informationen zu diesen Einschränkungen finden Sie unter Verantwortungsvolle Verwendung von GitHub Copilot für das Code-Review.

Sie sollten die Ergebnisse, die von GitHub Code Qualityder LLM-basierten Analyse angezeigt werden, immer überprüfen, um ihre Genauigkeit und Anwendbarkeit auf Ihre Codebasis zu überprüfen.

Einschränkungen von Copilot Autofix

          Copilot Autofix für Code Quality Ergebnisse kann nicht für jede Suche in jeder Situation ein Fix generiert werden. Das Feature funktioniert auf Best-Effort-Basis und ist nicht garantiert, 100% der Zeit erfolgreich zu sein.

Wenn Sie einen Vorschlag Copilot Autofixüberprüfen, müssen Sie immer die Einschränkungen von KI berücksichtigen und die Änderungen nach Bedarf bearbeiten, bevor Sie die Änderungen akzeptieren. Sie sollten Vorschläge immer sorgfältig überprüfen und überprüfen Copilot Autofix , bevor Sie sie anwenden.

Weitere Informationen zu den Einschränkungen Copilot Autofix, der Qualität von Copilot Autofix Vorschlägen und der besten Möglichkeit, ihre Einschränkungen zu mindern, finden Sie unter Verantwortungsbewusste Nutzung von Copilot Autofix für das Scannen von Code

Feedback geben

Sie können Feedback in der CommunitydiskssionGitHub Code Quality abgeben.

Nächste Schritte

Erfahren Sie, wie GitHub Code Quality die Standardverzweigung funktioniert, um Probleme mit der Codequalität anzuzeigen, und helfen Sie Ihnen, die Codeintegrität Ihres Repositorys auf einen Blick zu verstehen. Weitere Informationen findest du unter Schnellstart für GitHub-Codequalität.