2016-09-12 5 views
0

Die Codebasis meines Unternehmens ist bereits groß. Aber wir versuchen, bessere Qualität mit Code hierauf durchzusetzen.Erzwingen von Codierungsstandards nur für neuen Code

Ich bin auf der Suche nach einer Möglichkeit, Code-Standards für neu geänderte Code zu erzwingen, während die bestehende Code-Basis übergeben.

Zur Zeit habe ich Jenkins als CI-Tool, Sonarqube als Koordinator in die ReSharper und stylcop sind steckbar.

aber Sonarqube produziert derzeit nur einen Bericht.

Von nun an muss der Build fehlschlagen, wenn er einen Standard verletzt oder instabil ist. Kann es nur auf der CI-Tool-Ebene gemacht werden? Wie können Standards durchgesetzt werden?

Gibt es alternative oder bessere Ansätze für mein Szenario?

+0

Sind CI-Tools wie Jenkins und Hudson haben entsprechen die einzigen Möglichkeiten, baut bei Verletzungen Einhalt zu gebieten? Kann Sonarqube oder eines der statischen Code-Analyse-Tools dasselbe auslösen? – user1914725

Antwort

1

Ihr Szenario ist genau das, was Teamscale ist gebaut für: Akzeptieren Sie die alten Probleme und konzentrieren sich auf die Probleme in neuen oder modifizierten Code. Da Teamscale als Server ausgeführt wird und eine inkrementelle Analyse durchführt, müssen Sie nicht auf die Ergebnisse warten oder eine Analyse auslösen. Sie können auch Metrikschwellenwerte und Qualitätsziele konfigurieren, die verwendet werden können, um zu entscheiden, ob ein Build unterbrochen werden soll oder nicht. Es hat auch eine gut dokumentierte REST-API, so dass es leicht mit Jenkins verbunden werden kann.

+0

Danke! Sieht in der Tat sehr vielversprechend aus ... wird es ausprobieren und eine Entscheidung treffen ... – user1914725

+0

Da es ein Server-Tool ist, sind Lizenzen für devops- Build-Typen allein genug, oder? es ist viel teurer für 10 Entwickler. – user1914725

0

sollten Sie in der Lage sein

https://github.com/exussum12/coverageChecker

Für eine Offline-Check zu verwenden. Dies ist in PHP geschrieben (benötigt also PHP auf Ihrem CI-Server), unterstützt jedoch viele Standards für andere Berichte.

Dies nimmt den vollständigen Bericht und das diff und zeigt nur die Fehler auf den Zeilen, die geändert haben.

Wenn Sie also eine nicht übereinstimmende Zeile ändern, müssen Sie den Grund, warum sie nicht den Standards entspricht, vor dem Festschreiben beheben.

Alle neuen Code hat auf das, was Standard, den man auf diese Weise eingestellt

Verwandte Themen