Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
これ以上ソースコードの負債を増やさないために
Visual Studioの静的解析とAzure PipelinesでCIを回す
(オンプレでもできます)
2019/5/14 サイエンスパーク株式会社 須藤
1
• ID:suusanex( connpass・Twitter・GitHub共通)
• 名前:須藤圭太
• サイエンスパーク株式会社という独立系ソフトウェアベンダーに所属
• 4年ほど受託開発で、上流から下流まで全部を回す
• ここ6年ほどは、...
• Visual Studioの機能に、静的解析が含まれている
• C++・C#どっちでも使える
• https://docs.microsoft.com/ja-jp/visualstudio/code-quality/?view=vs-201...
運用には課題がある
4
• 静的解析のエラーをすべて不合格にすると、運用が回らない
• 開発中のビルドのたびに解析が実行されると邪魔
• 各自に実施を任せると、やらない
• ↓が欲しい。
• 既存の問題は許容し、問題が増えた場合にエラーにする
...
1、プロジェクトの診断ルールだけ設定(診断はOFF)
5
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<CodeAnalysisRule...
2、コマンドラインに診断ONを入れてビルドするジョブ作成
6
3、Warningの数を数えるタスクをマーケットプレースから追加※VSの
静的解析結果はWarningで出る
7
4、Warningが増えたときにエラーにする設定
8
実行結果
9
• タスクの設定で、許容するwarningの個数を変数にしておく
• 実行する時に、その変数に数字を入れる
Warningが増えたが、許容するという結論になった場合
→Warningの許容ベース個数を変える(ビルド実行時の変数で)
10
結果 成功
11
次回から、このwarning個数が合格ラインになる
Visual Studio 2019でも同じように・・・
12
廃止
Visual Studioェ・・・
オンプレについて
13
• Azure DevOpsはオンプレのビルドにも使える
• 別スライドで発表済み。要望あれば別途
• VS静的解析は使えそう
• 運用上の課題はあるが、CIツールで解決できる
• 静的解析が常に回っているメリットは大きい
• やろう
• VS2019についてはこれから考える
まとめ
14
SP1905-E07-01
Nächste SlideShare
Wird geladen in …5
×

これ以上ソースコードの負債を増やさないためにVisual Studioの静的解析とAzure PipelinesでCIを回す

勉強会で発表した資料。
https://sciencepark.connpass.com/event/126600/

  • Als Erste(r) kommentieren

これ以上ソースコードの負債を増やさないためにVisual Studioの静的解析とAzure PipelinesでCIを回す

  1. 1. これ以上ソースコードの負債を増やさないために Visual Studioの静的解析とAzure PipelinesでCIを回す (オンプレでもできます) 2019/5/14 サイエンスパーク株式会社 須藤 1
  2. 2. • ID:suusanex( connpass・Twitter・GitHub共通) • 名前:須藤圭太 • サイエンスパーク株式会社という独立系ソフトウェアベンダーに所属 • 4年ほど受託開発で、上流から下流まで全部を回す • ここ6年ほどは、自社製品開発を担当 勉強会、今後も開いていきます。 https://sciencepark.connpass.com/ 自己紹介 2
  3. 3. • Visual Studioの機能に、静的解析が含まれている • C++・C#どっちでも使える • https://docs.microsoft.com/ja-jp/visualstudio/code-quality/?view=vs-2019 • 言語の理解ミスや単純なコーディングミスを見つけてくれる • 一人でも便利だし、複数人の開発で質を揃えるにはもっと便利 • 常に使いたい Visual Studioの静的解析を生かしたい 3
  4. 4. 運用には課題がある 4 • 静的解析のエラーをすべて不合格にすると、運用が回らない • 開発中のビルドのたびに解析が実行されると邪魔 • 各自に実施を任せると、やらない • ↓が欲しい。 • 既存の問題は許容し、問題が増えた場合にエラーにする • 開発作業中は実行されない • push時など、コードを確定した時に自動実行される • 結果が通知される • CI系のツールなら実現できそう • Azure DevOpsで解決できた(Visual Studio 2017で実験)
  5. 5. 1、プロジェクトの診断ルールだけ設定(診断はOFF) 5 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet> <RunCodeAnalysis>false</RunCodeAnalysis> </PropertyGroup>
  6. 6. 2、コマンドラインに診断ONを入れてビルドするジョブ作成 6
  7. 7. 3、Warningの数を数えるタスクをマーケットプレースから追加※VSの 静的解析結果はWarningで出る 7
  8. 8. 4、Warningが増えたときにエラーにする設定 8
  9. 9. 実行結果 9
  10. 10. • タスクの設定で、許容するwarningの個数を変数にしておく • 実行する時に、その変数に数字を入れる Warningが増えたが、許容するという結論になった場合 →Warningの許容ベース個数を変える(ビルド実行時の変数で) 10
  11. 11. 結果 成功 11 次回から、このwarning個数が合格ラインになる
  12. 12. Visual Studio 2019でも同じように・・・ 12 廃止 Visual Studioェ・・・
  13. 13. オンプレについて 13 • Azure DevOpsはオンプレのビルドにも使える • 別スライドで発表済み。要望あれば別途
  14. 14. • VS静的解析は使えそう • 運用上の課題はあるが、CIツールで解決できる • 静的解析が常に回っているメリットは大きい • やろう • VS2019についてはこれから考える まとめ 14
  15. 15. SP1905-E07-01

×