Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
静的解析ツールを導入した話 K1mu21
Slide 2
Slide 2 text
自己紹介 ● K1mu21 ○ 23卒です ● 所属 ○ 株式会社ラクーンホールディングス ● 分野 ○ バックエンド(+フロントエンド) ● 使用言語 ○ Go,Java,PHP,Astro ● 趣味 ○ 旅行、筋トレ、日本酒 ● X ○ @detunote ● 分野 ○ バッsaクエンド(+フロントエンド)
Slide 3
Slide 3 text
静的解析ツールとは ● 人間の記述したプログラムのソースコードを解析し、プログラミング言語の 文法や仕様を満たしているか、定められたコーディング規約に則っている かなどを調べるもの ● 例 ○ ESLintとか
Slide 4
Slide 4 text
導入した静的解析ツール
Slide 5
Slide 5 text
導入する上で必要だったもの ● VScode上で解析結果が見れる ● GitLabのCodeQuarityの機能で解析結果が表示される ● 表示させるエラーの調整ができる
Slide 6
Slide 6 text
導入を考えたツール ● 今回はJavaメインですが他言語でも使えます! ● SpotBugs ○ コマンドを叩いたら解析が実行されるが VScode上表示するのが大変 ● Soner Lint, Soner Qube ○ VScodeに表示できる、CodeQuality簡単に使える、エラー指定できるで完璧 ○ 無料もあるが有料版がLOC課金で年900万円超え($での支払い)🥺🥺🥺 ● Qodana ○ VScodeに一応表示できる、CodeQuality使えるようにできる、エラー指定できる ○ 無料もあり、有料が年11万くらい🥳
Slide 7
Slide 7 text
Qodanaの特徴 ● JetBrains製の静的解析ツール ○ InteliJとかGorandとかの静的解析する機能だけ取り出したもの ● DockerImageがある ○ CI時にイメージ呼び出して動かすだけでいいのでめちゃくちゃ助かる ● ドキュメントが見やすい ○ https://www.jetbrains.com/help/qodana/getting-started.html ● 料金が安い ○ 安いプランでも1Developer年7200円 ● 解析結果をHTML形式にも出力できる
Slide 8
Slide 8 text
Qodanaのデメリット ● 未使用変数、メソッドの指摘が推奨設定でされなかった ○ PHPなどはされるのを確認できたが、 Javaだけされなかった ○ 公式に問い合わせて解決できたが返信きたのが 3週間後...😡 ● 社内GitLabサーバーを殺しかけた ○ 400MBのArtifactを作りまくってサーバーを殺しかけた ○ 残り容量2GBくらいまで減らした ● 有料版じゃないのでSpring FrameworkのDIを考慮してくれないのでめっちゃ指摘さ れる ○ 指摘数が半端じゃないほど増える ● ドキュメントに甘い部分がある ○ 例のコードが動かなかった
Slide 9
Slide 9 text
とりあえず実装したもの ● VScodeへの表示 ❌ ○ Qodana Cloudに結果を上げる必要がありセキュリティ的に一旦保留 ● CodeQuarityを使って表示 ⭕ ● エラーの調整ができる ⭕ 追加 ● GitLab Pageの機能を使って解析結果をHTML形式でも見れるようにしまし た(GitHub Pagesみたいなもの)
Slide 10
Slide 10 text
JetBrainsは神
Slide 11
Slide 11 text
宣伝