機能

Bobのヒント

Bobのヒントは、複雑な関数に対してAI搭載のリファクタリング提案によりコード品質の問題をリアルタイムで検出します。コーディング中に技術的負債を削減できます。

Bobのヒントを使う理由

  • リアルタイムコード分析: 手動スキャンなしで、コードを書きながら自動的に品質問題を検出します。
  • 品質問題の早期発見: コードレビュー前の開発段階で問題のある関数を特定します。
  • 技術的負債の削減: 複雑性や保守性の問題が発生した時点で対処します。
  • コードの可読性向上: 複雑なロジックを簡素化するための具体的な提案を受け取ります。
  • テスト容易性の向上: テストを困難にする深くネストされたロジックや過剰な分岐を削減します。

仕組み

Bobのヒントは、エディターで開いているすべてのファイルに対して継続的な静的解析を行い、関数レベルでコード品質メトリクスを計算します:

分析されるメトリクス:

  • 循環的複雑度: コード内の独立したパスの数を測定します。10以上の値は高複雑度と見なされます。
  • 保守性指数: コードの読みやすさ、テストしやすさ、拡張しやすさを評価します。70以下の値は低保守性と見なされます。

自動検出:

関数が品質閾値を超えると、Bobは自動的に:

  1. エディターで関数に紫色の下線を付けます。
  2. Bob Findingsパネルに結果を追加します。
  3. AI搭載のリファクタリング提案を生成します。

Bobのヒントは、手動スキャンや設定を必要とせず、バックグラウンドで継続的に実行されます。コードを書いたり変更したりするたびに自動的に分析が行われます。

Bobのヒントが検出するもの

Bobのヒントは、2つのカテゴリのコード品質問題を特にターゲットにしています:

高い循環的複雑度

深くネストされたロジックや過剰な分岐を持つ関数:

  • 複数のネストされたif/else文。
  • 多くのケースを持つ複雑なswitch文。
  • 深くネストされたループ。
  • 過剰な条件ロジック。

これらのパターンにより、コードの理解、テスト、保守が困難になります。

低い保守性

読みにくく、テストしにくく、拡張しにくい関数:

  • 責任が多すぎる長い関数。
  • 関心の分離が不十分。
  • 追いにくい複雑なロジック。
  • 分解することで改善できるコード。

結果の確認と修正

エディターで

Bobが品質問題を特定すると:

  1. 問題のある関数がエディターで紫色の下線付きで表示されます。
  2. 下線にカーソルを合わせると、以下のツールチップが表示されます:
    • 検出された具体的な品質問題。
    • AI搭載のリファクタリング提案。
    • Bobと問題について話し合うオプション。

Bob Findingsパネルの使用

開いているファイルのすべての結果がBob Findingsパネルに集約されます:

  • すべての品質問題を一元的な場所で確認する。
  • 複数のファイルにわたる結果間を移動する。
  • 対処した問題を追跡する。
  • '@problems'を使ってチャットで結果を参照する。詳細については、コンテキストメンションを参照してください。

Bobで修正する

Bobと協力してコードをリファクタリングします:

エディターで紫色の下線にカーソルを合わせます。

ツールチップでBobで修正をクリックします。

Bobが問題に関するコンテキストを含むチャット会話を開きます。

リファクタリングアプローチについて話し合い、一緒に解決策を実装します。

以下の場合にこのオプションを使用します:

  • 問題をより詳しく理解したい場合。
  • さまざまなリファクタリングアプローチを検討したい場合。
  • より複雑なリファクタリング戦略を計画したい場合。
  • 同様の状況でのベストプラクティスを学びたい場合。

Bobのヒントを設定する

機能を有効または無効にする

IBM Bobの右下隅にあるBob - 設定ボタンをクリックします。

Bob findingsタブをクリックします。

Bobのヒントをオンまたはオフに切り替えます。

無効にすると、Bobはファイルの分析を停止し、エディターとBob Findingsパネルから既存の結果を削除します。

このトピックはいかがですか?