Codestandard-Enforcer für Visual C++

Ich suche nach einem Tool, um unsere C++-Codierungsstandards durchzusetzen. Wir arbeiten in Visual C++ auf MS Windows.

  1. Muss unter MS Windows auf Visual C++-Quellcode ausgeführt werden
  2. Muss Abweichungen von unserem Standard kennzeichnen
  3. Muss konfigurierbar sein, um zumindest unseren Stil und unsere Namenskonventionen durchzusetzen
  4. Darf nicht viel mehr als 300 $/Entwickler/Jahr für 20 Entwickler kosten
  5. Es wäre wirklich schön, wenn es sich gut in Visual Studio integrieren ließe
  6. Es wäre wirklich schön, wenn es einfach so eingerichtet werden könnte, dass es automatisch läuft
  7. Es wäre schön, wenn es sich gut in Subversion, Git, SmartBear's Collaborator und Cruise Control integrieren würde

Antworten (2)

Ich schlage vor, dass Sie sich Gimpel's PC-Lint ansehen :

  1. Muss unter MS Windows auf Visual C++-Quellcode ausgeführt werden - Es läuft tatsächlich von der Befehlszeile auf fast jeder Windows-Plattform, die C/C++-Code verarbeitet.
  2. Muss Abweichungen von unserem Standard kennzeichnen - Das hängt stark von Ihrem Standard ab. Wenn Sie ausgewählte Teile von MISRA verwenden, können Sie es einfach darauf zuschneiden, aber wenn Sie eine Regel haben, dass alle Funktionen nach Charakteren aus den Dr. Zuse-Büchern benannt werden müssen, sind Sie wahrscheinlich Pech gehabt.
  3. Muss konfigurierbar sein, um zumindest unseren Stil und unsere Namenskonventionen durchzusetzen - Auch hier hängt es davon ab, was sie sind.
  4. Darf nicht viel mehr als 300 $/Entwickler/Jahr für 20 Entwickler kosten - Eine LAN-Lizenz für einen Standort und 10 Benutzer kostet 3500 $. Jeder weitere Benutzer kostet 300 $. Also nicht weit drüber.
  5. Es wäre wirklich schön, wenn es sich gut in Visual Studio integrieren ließe. Für die meisten Versionen von VS sind Integrationen verfügbar
  6. Es wäre wirklich schön, wenn es einfach so eingerichtet werden könnte, dass es automatisch läuft. Es wird von einer Batch-Datei ausgeführt, sodass es in CI-Tools wie Jenkins integriert werden kann
  7. Es wäre schön, wenn es sich gut in Subversion, Git, SmartBear's Collaborator und Cruise Control integrieren würde - Sie können die meisten VCS-Systeme so einstellen, dass es als Pre-Commit-Hook ausgeführt wird und das Commit verweigert, wenn der Code schlechter als zuvor ist.
Sieht für mich ein bisschen nach einem toten Produkt aus, wird es immer noch auf neue Standards aktualisiert (ich konnte keine Referenz finden)?
Das Verkaufsteam reagierte sehr schnell auf meine Anfrage nach einer Testversion.
@DavidThornley Das ist gut zu hören.
Ist das nicht ein statisches Analysetool? Und es scheint von ziemlich schlechter Qualität zu sein. Sie bieten keine realistischen Beispiele und unterstützen C++11 nicht richtig (und daher ist es nicht mit neueren Versionen von VS kompatibel).

Hast du CppDepend probiert ? ein ziemlich cooles statisches Analysetool, mit dem Sie mit CQLinq ganz einfach Ihre eigenen Codierungsregeln schreiben können .