-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SonarCloudにBugだと言われているものを対処したいなぁという話。 #1504
Comments
問題とされた箇所をざっと眺めて得た印象からの発言でしたが、その後 #1483 と #1489 でバッファオーバーランが2件見つかっています。 |
量が量なので複数人の参加が望ましいと思いますが、誰がどこに着手中かが分かるようにしなければ同じところで作業する事態が起きそうです |
いったん Assigned でいいと思います。
当面はカバレッジはスルーしていくしかないのかなぁ・・・ 別件で、現在のカバレッジを少しでも高める内容のPRを検討しています。 |
インライン関数やテンプレート関数のカバレッジが取れていないかもしれません。int2dec や charcode.h の判定関数 などです。 |
現状のOpenCppCoverageの限界かも知れません。 対策として考えられるのは
妥当なのは「見なかったことにする」かな? インラインを使わないようにするのは少し難しいですが、おそらく「やったほうがよい」だと思います。 |
地味な対応を続けた結果、Bugs(Blocker)レベルの警告があと10件になりました。Blockerレベルの警告は分かりづらくてレビューしづらいようなので、一律対応できそうなBugs(Critical)レベルの対応を進めて行こうと思っています。 ちなみにラベルの日本語約は以下である認識です。
|
BlockerレベルのBugsが残り2件になりました。
ちょっと対処が難しそうなので、しばらくしたら個別のissueを作成してこのissue自体は閉じてしまおうと思っています。 |
#1605 の対応で残った 6件 はこっちのissueで対応していきたいです。 |
PRが出ていない残件(Critical以上)。
深刻度の高そうな警告の大半を潰せたので、あとはしょーもない警告が残ってるだけだと思っていましたが、何気にそうでもなさそうです。
このissueは、もう少しの間 keep-alive にしといたほうが良さそうです。 |
SonarCloudのルールが変更されたことにより、 variadic paramater形式の関数に CLogicInt とか CLayoutInt とかを渡している部分が Major の Bugsとして検出されるようになった模様。一応、キャストしてあげれば回避はできそう。 |
Bug だと言われているもののうち最高レベルの Blocker は43件で、内訳は以下のような形です。
特に文字列操作についてよく怒られているわけですが、適切に範囲チェックしているのに分析器がそれを検出できてないのが実態であるように見えます。
C文字列を使ってはいけない。すべて std::string にするべきだ。ということを言いたいようですが。
1万9千件もある Code Smell についての警告も大部分がそういう内容ですし、コードベース全体で審査に合格するのはきっと途方もなく大変です…。
PR などで追加・修正した部分だけ Quality Gate 適用できたらいいなあ、と思います。
Originally posted by @k-kagari in #1476 (comment)
The text was updated successfully, but these errors were encountered: