PB、Oracle & SQL Serverコードの検査

コード検査とは ?

コード検査とは、テスト前にコードを見直して改善する作業です。

テストと検査はどちらもコードの改善を目的としていますが、2つの異なる概念に依存しています。

  1. テストは動的なもので、ソフトウェアを実行して機能性を確認します。
    (参照: AscentialTestによる自動テスト)
  2. コード検査は、一連のルールに基づいてソースコードを解析します。

手動、自動、または連続検査とは ?

コード検査のためのいくつかの可能な戦略:

戦略 説明 賛否両論
マニュアル コード レビュー チームメイトは、お互いのコードを見直して、可能性のある不具合を見つけて修正します。 よりよいコード 人間の費用 > 限られた頻度
ピア プログラミング 1つのデスクに2人のプログラマー:1人がコードを書き、他の人がそれをレビューする。 より良いコードと知識の伝達。
生産性は挑戦的なものになります。
自動検査 機械で行うレビュー。 繰返しの制限はありません。
コード解析ツールが必要です。
連続コード検査 継続的インテグレーションワークフローに含まれる自動レビュー。 以下を参照してください。

なぜ連続コード検査を実装するのか ?

継続的コード検査は、ビルドが生成されるたびに完全なコード レビューを行うことを意味します。
これにより、ビルドが作成されてから品質やセキュリティの問題が発見されるまでの時間を短縮することができます。

継続検査を目的としたいくつかのサンプルを以下にご紹介します。

  • セキュリティの脆弱性の検出と除去
  • 「文法」を基準としたコーディングに準拠
  • コードの可読性の基準に準拠
  • 重複するコードの削除
  • パフォーマンスの向上
  • その他...

コード検査と継続的インテグレーション

ロードマップ

Visual Expert は機能セットを集約し、一歩一歩、継続的なコード検査を完全にサポートしていきます。

  1. 最初に、VEは、セキュリティや保守性の問題、バグを検出します。
    後には、構文エラーの検出やコードメトリクスも含まれます。
  2. まず、Visual Expert UIを介してコード検査を行います。その後、VEがHTMLレポートを生成します。
  3. VEは、継続的なコード検査を継続的な統合ワークフローに統合するためのJenkinsプラグインを提供します。

ビジュアルエキスパートによるコード検査のロードマップ

 

どのような種類の問題が検出されるか ?

Visual Expert は多くのルールを実装しており、様々な角度からコードをチェックし、そのセキュリティ、安定性、保守性を向上させます。

PB、Oracle、SQL Serverプロジェクトのコード検査

以降のバージョンでは、構文エラーとメトリクスがサポート課題のリストに追加されます。

バグ 構文エラー以外の欠陥やミスは、いつでもアプリケーションを破損させる可能性があり、それを修正することが最優先です。
メンテナンス性 この品質関連の問題はバグではありません。それは技術的に不適当で無くアプリケーションの機能を妨げるものではありません。しかし、それは変更をより費用のかかるものにし、新しいバグを発生させる確率を高めます。
脆弱性 セキュリティ違反につながる可能性のあるコードの欠陥や弱点。
セキュリティ警告 コードの一部はセキュリティ侵害を引き起こす可能性があるが、それを判断するために手動で検査しなければならない。
メトリック 特定のコード プロパティまたはエンティティの測定目標。伝統的に、コスト見積もり、品質保証、デバッグ、パフォーマンスの最適化、タスクの割り当てなどに使用されています。
構文エラー コードのコンパイルや実行を妨げる可能性のあるフレーズの構文の文法的な間違い。それを修正することが最優先です。

問題の深刻度

すべての課題がクリティカルなものではありません。

改善の優先順位をつけるために、各課題には深刻度のレベルがあります。

クリティカル アプリケーションの正常な機能を変える可能性のあるバグで、できるだけ早く修正する必要があります。
メジャー セキュリティの脆弱性、またはアプリケーションの適切な機能を変える可能性のあるバグ。可能な限り迅速に対処する必要があります。
マイナー 開発者の生産性に大きな影響を与える品質不良。
開発者の生産性に若干の影響を及ぼす可能性のある品質不良。
情報 コードに関するメトリックまたは情報。

問題の深刻度はどのように定義されているか ?

問題の深刻度レベルは、その影響度と確率に依存します。

影響度の高低は、以下の基準で評価する。

  • バグについて: この問題はアプリケーションを壊したり、保存されたデータを破損させたりする可能性がありますか ?
  • 脆弱性について:この違反が悪用された場合、重大な損害をもたらすかどうか ?
  • 保守性の問題について: この問題は開発者がバグを生む原因になる可能性がありますか ?
クリティカル メジャー マイナー
影響 高い 高い 低い 低い
確率 高い 低い 高い 低い

 

どのコード言語が検査可能か ?

Visual Expertは現在、PowerBuilder、Oracle、SQL Serverのコード検査をサポートしています。

Visual Expertで検査されるコード言語

コードの検査方法は ?

レビューしたいコードの種類を選択します。

 

PowerBuilder, Oracle, SQL Server, Code Inspection