Sie schreiben nicht, wenn Sie C- oder C++ - Code kompilieren. Im letzteren Fall schlage ich vor, den Header zu verwenden und dann std::tm
zu verwenden. Vielleicht hilft das für die Analyse. Wenn Sie noch auf Sonar-ignorieren die Linien zurückgreifen zu müssen, können Sie
time_t MyFunction (tm* time); // NOSONAR
verwenden AFAIK funktioniert dies ohne weitere Konfiguration. Wir verwenden
//sonarqube ingore on
time_t MyFunction (tm* time);
//sonarqube ingore off
, um Codeblöcke zu ignorieren. Dies kann jedoch eine Sonarqube-Konfiguration erfordern, um die Flagge bekannt zu machen. Wir verwenden die folgend in einem pom.xml, und es könnte in Ihrer Umgebung anders, aber ähnlich sein:
<sonar.issue.ignore.block>e1</sonar.issue.ignore.block>
<sonar.issue.ignore.block.e1.beginBlockRegexp>sonarqube ignore on</sonar.issue.ignore.block.e1.beginBlockRegexp>
<sonar.issue.ignore.block.e1.endBlockRegexp>sonarqube ignore off</sonar.issue.ignore.block.e1.endBlockRegexp>
Leider SQ Dokumentation konzentriert sich mehr auf, wie Regeln und die Ausnahmen in der Projektkonfiguration zu behandeln, anstatt in Code, so dass diese Informationen nicht so einfach zu finden sind.
In Bezug auf Ihre andere Frage: In meiner Erfahrung wird SQ über einen Code Geruch wie bei Ihnen nur bei der Deklaration beschweren, so dass Sie nicht das gleiche bekommen Warnung in Ihrer c/cpp-Datei.
Sie können eine Ignorierregel als letzten Ausweg –
@adnankamili hinzufügen, auf die ich gut zurückgreifen kann. Gibt es eine Möglichkeit, eine bestimmte Zeile in C++ Sonar zu ignorieren? – splrs