Close Menu
    Was ist angesagt

    Ein tiefer Einblick in das Vermögen von Robert Downey Jr., dem neuen Doctor Doom

    Juli 18, 2025

    Hatte Lewis Hamilton ein Date mit Amelia Dimoldenberg? Damson Idris findet für uns die Wahrheit heraus

    Juli 17, 2025

    Jede Chuck Lorre-Sitcom, vom schlechtesten zum besten bewertet

    Juli 17, 2025
    Facebook X (Twitter) Instagram
    lifeswire.delifeswire.de
    • Lebensstil
    • Nachrichten
    • Technik
    • Berühmtheit
    • Gesundheit
    • Wie zu
    lifeswire.delifeswire.de
    Home » Statische Analyse mit SonarQube
    Technik

    Statische Analyse mit SonarQube

    DeckerBy DeckerOktober 2, 2024Keine Kommentare4 Mins Read
    Aktie
    Facebook Twitter LinkedIn

    SonarQube ist eine Plattform zur Analyse von Software auf Fehler, Schwachstellen und Code-Smells. Neben der Durchführung einer Vielzahl statischer Analyseprüfungen Ihrer Quelle präsentiert es die Ergebnisse in Form von ausführlichen Berichten, mit denen Sie die Sicherheit und Stabilität Ihrer Anwendung ganz einfach verbessern können.

    In unserem vorherigen SonarQube-Beitrag haben wir einen Server eingerichtet und einen Java-Build darauf ausgerichtet. Jetzt werden Sie SonarQube-Berichte verwenden, um Probleme zu finden und zu beheben.

    Einrichten eines Java-Projekts

    In unserem vorherigen Beitrag haben wir den Beispielcode von SonarSource verwendet . Dieses Mal werden Sie Änderungen vornehmen und diese festschreiben. Sie müssen nur in ein lokales Repository festschreiben, aber Sie können das Repository auch auf GitHub forken, um Ihre Änderungen zu speichern.

    plugins {

    id „jacoco“
    id „java“
    id „application“
    id „org.sonarqube“ version „3.0“

    }

    description = ‚Example of SonarQube Scanner for Gradle Usage‘
    version = ‚1.0‘

    sonarqube {

    properties {property ’sonar.projectName‘, ‚SonarQube Test Project‘

    }

    }

    Wenn Sie sie dann nicht in der Befehlszeile angeben möchten, können Sie Ihre Serveradresse und Authentifizierung zu gradle.properties hinzufügen .

    org.gradle.jvmargs=-XX:PermSize=512M -XX:MaxPermSize=512M
    systemProp.sonar.login=5b2034e871ec685ce42a1399ba6b2080b2c2490d
    systemProp.sonar.host.url=http://192.168.7.139:9000

    Statische Analyse ausführen

    Führen Sie jetzt das SonarQube- Build-Ziel aus.

    % ./gradlew sonarqube

    BUILD SUCCESSFUL in 7s

    3 actionable tasks: 3 executed

    Ihr SonarQube-Dashboard enthält die Analyseergebnisse.

    Sonarqube hat zwei Code Smells gefunden. Klicken Sie auf den Projekttitel, um mehr zu erfahren. Klicken Sie dann auf das Menü „Probleme“.

    Jetzt können Sie die eigentlichen Probleme sehen.

    SonarQube gibt Ihnen eine Beschreibung des Problems sowie Informationen zum Typ und dem Zeitpunkt, zu dem es dem Code hinzugefügt wurde. Da diese Anzeige aus einem gegabelten Repo stammt, sind dort Informationen darüber enthalten, wann SonarSource den Code geschrieben hat.

    Klicken Sie neben dem ersten Problem auf „Warum ist das ein Problem?“ .

    SonarQube zeigt Details zum Problem und dessen Lösung an.

    Klicken Sie nun auf das Problem.

    SonarQube zeigt Ihnen die Quelldatei mit den darin enthaltenen Problemen.

    Ausführen einer neuen Analyse

    Fügen wir einen Fehler hinzu. Ändern Sie App.java so, dass es wie folgt aussieht:

    package com.acme;

    public class App {

    private String greeting = „Hello world!“;

    public String getGreeting() {

    return greeting;

    }

    public static void main(String[] args) {

    System.out.println(new App().getGreeting());

    }

    public void setGreeting(String greeting) {

    if (greeting == „Hello world!“) {

    System.out.println(„That’s the same greeting!“);

    }

    this.greeting = greeting;

    }

    }

    Diese Änderung macht die Begrüßung konfigurierbar. Wenn jedoch eine neue Begrüßung festgelegt wird, wird versucht, den Wert mit dem ==- Operator mit dem Standardwert zu vergleichen.

    Übernehmen Sie zuerst diesen Code und führen Sie dann eine neue Analyse aus.

    Das Vergleichen von Strings mit == ist ein Fehler. Daher ist die Analyse fehlgeschlagen.

    Bevor Sie sich den Code ansehen, werfen Sie einen kurzen Blick auf die Übersicht. Dort steht, dass Sie 10 Minuten technische Schulden mit einem neuen Codegeruch hinzugefügt haben. Wenn Sie auf die 1 klicken , gelangen Sie zum neuen  System.out.println()  in der neuen Methode, die Sie hinzugefügt haben. SonarQube hilft Ihnen, technische Schulden zu verfolgen, während Sie an Ihrem Code arbeiten.

    Auf der  Registerkarte „Gesamtcode“ werden Ihnen Gesamtsummen zu Fehlern, Schwachstellen, Sicherheitsproblemen und Code-Smells angezeigt.

    Da der Code bereits eine andere Instanz desselben Codegeruchs aufwies, beträgt die gesamte technische Schuld 20 Minuten.

    Gehen Sie in die Tiefe des Codes, und SonarQubes zeigt den Fehler direkt an.

    Da Sie die Codeänderung übernommen haben, werden genaue Zeitinformationen sowie „git blame“ angezeigt .

    Klicken Sie auf einen der Namen auf der linken Seite.

    SonarQube speichert mit jedem Bericht detaillierte Git-Informationen.

    Beheben Sie den Fehler.

    public void setGreeting(String greeting) {

    if (greeting.equals(„Hello world!“)) {

    System.out.println(„That’s the same greeting!“);

    }

    this.greeting = greeting;

    }

    Führen Sie abschließend die Analyse erneut aus.

    Der Fehler ist behoben und die Analyse war erfolgreich.

    Mehr lesen: 3 Unterschiede zwischen Scrum und Kanban, die Sie kennen müssen

    SonarQube verbessert Ihren Code

    In diesem Beitrag haben Sie gelernt, wie Sie einen Java-Build in SonarQubes integrieren. Sie haben Beispiele für Codequalitätsberichte sowie im Quellcode angezeigte Mängel gesehen. Anschließend haben Sie den Code geändert, um neue Fehler hinzuzufügen und zu entfernen.

    SonarQube erleichtert das Integrieren von Codeanalysen in Ihren Entwicklungsworkflow. In diesem Beitrag haben Sie gesehen, wie einfach es ist, Ihren Anwendungscode zu verbessern.

    SonarQube ist eine Plattform zur Analyse von Software auf Fehler, Schwachstellen und Code-Smells. Neben der Durchführung einer Vielzahl statischer Analyseprüfungen Ihrer Quelle präsentiert es die Ergebnisse in Form von ausführlichen Berichten, mit denen Sie die Sicherheit und Stabilität Ihrer Anwendung ganz einfach verbessern können.

    In unserem vorherigen SonarQube-Beitrag haben wir einen Server eingerichtet und einen Java-Build darauf ausgerichtet. Jetzt werden Sie SonarQube-Berichte verwenden, um Probleme zu finden und zu beheben.

    Share. Facebook Twitter LinkedIn

    ZUSAMMENHÄNGENDE POSTS

    Frosting AI Review – Funktionen, Preise und Angebote

    Juli 14, 2025

    Preis des Tesla Pi Phone bei Flipkart 2024, Startdatum und vollständige Mobiltelefonspezifikation

    Juli 14, 2025

    This person does not exist: Bester kostenloser KI-Gesichtsgenerator für 2025

    Juli 14, 2025

    Der ultimative Leitfaden zu Chatgot: Funktionen, Vor- und Nachteile im Jahr 2024

    Juli 14, 2025

    Privnote: Der ultimative Leitfaden zum Sichern selbstzerstörender Notizen

    Juli 13, 2025

    G15Tools.com: Eine zentrale Plattform für Datenvisualisierung, Tools und technische Einblicke

    Juli 12, 2025
    Neueste Beiträge

    Ein tiefer Einblick in das Vermögen von Robert Downey Jr., dem neuen Doctor Doom

    Juli 18, 2025

    Hatte Lewis Hamilton ein Date mit Amelia Dimoldenberg? Damson Idris findet für uns die Wahrheit heraus

    Juli 17, 2025

    Jede Chuck Lorre-Sitcom, vom schlechtesten zum besten bewertet

    Juli 17, 2025

    Was ist zwischen Cardi B und Stefon Diggs passiert? Drama erklärt

    Juli 17, 2025

    Recent Posts

    • Ein tiefer Einblick in das Vermögen von Robert Downey Jr., dem neuen Doctor Doom
    • Hatte Lewis Hamilton ein Date mit Amelia Dimoldenberg? Damson Idris findet für uns die Wahrheit heraus
    • Jede Chuck Lorre-Sitcom, vom schlechtesten zum besten bewertet
    • Was ist zwischen Cardi B und Stefon Diggs passiert? Drama erklärt
    • Wird es „The Kissing Booth 4“ geben? Das wissen wir

    Recent Comments

    Es sind keine Kommentare vorhanden.
    Über uns
    Über uns

    Lifeswire ist die führende Online-Publikation für Musiknachrichten, Unterhaltung, Filme, Prominente, Mode, Wirtschaft, Technologie und andere Online-Artikel.

    Wir akzeptieren derzeit neue Partnerschaften.

    Email Us: lifeswire250@gmail.com

    Facebook X (Twitter) LinkedIn
    Unsere Auswahl

    Ein tiefer Einblick in das Vermögen von Robert Downey Jr., dem neuen Doctor Doom

    Juli 18, 2025

    Hatte Lewis Hamilton ein Date mit Amelia Dimoldenberg? Damson Idris findet für uns die Wahrheit heraus

    Juli 17, 2025

    Jede Chuck Lorre-Sitcom, vom schlechtesten zum besten bewertet

    Juli 17, 2025
    Am beliebtesten

    Rick Berman über Star Trek: TNG hat einen Story-Fehler, den Gene Roddenberry verteidigte, Deep Space Nine löste ihn

    Juli 17, 2025

    „Wir sehen Ichigo aufwachsen“: Der Designer von „Bleach“ verrät, warum Ichigo die am schwierigsten zu animierende Figur war

    Juli 17, 2025

    „Frieren: Beyond Journey’s End“ meisterte eines der schwierigsten Anime-Tropen

    Juli 17, 2025

    Archives

    • Juli 2025
    • Juni 2025
    • Mai 2025
    • April 2025
    • März 2025
    • Februar 2025
    • Januar 2025
    • Dezember 2024
    • November 2024
    • Oktober 2024
    • September 2024
    • August 2024
    • Juli 2024
    • Juni 2024
    • Mai 2024
    • April 2024
    • März 2024
    • Februar 2024
    • Januar 2024

    Categories

    • App
    • Ausbildung
    • Auto
    • Bankwesen
    • Berühmtheit
    • Blog
    • CBD
    • Essen
    • Film
    • Finanziell
    • Fitness
    • Geschäft
    • Geschichte
    • Gesundheit
    • Krypto
    • Lebensstil
    • Maschine
    • Mode
    • Nachrichten
    • Ort
    • Reisen
    • Schönheit
    • SEO
    • Sicherheit
    • Software
    • Sozialen Medien
    • Spiel
    • Sport
    • Technik
    • Theater
    • Tier
    • Unterhaltung
    • Unternehmen
    • Vape
    • Webseite
    • Wie zu
    • Wissenschaft
    Urheberrechte © 2024 Julietrome Alle Rechte vorbehalten.
    • Kontaktiere uns
    • Über uns
    • Datenschutzrichtlinie

    Type above and press Enter to search. Press Esc to cancel.