mcpField
1
128-java-generics

128-java-generics

github.com/jabrena開発456374 回インストール1 日前に更新
リポジトリ

128-java-generics について

コンパイル時の型安全性と再利用可能な API の改善を支援する Java ジェネリクススキルです。ワイルドカードの変位、型消去、安全な可変長引数、ジェネリック API 設計を扱い、コンパイルと検証の手順も定めています。

主な機能

  1. 01raw 型と安全でないキャストの回避
  2. 02PECS に基づくワイルドカード変位
  3. 03型消去への対応
  4. 04SafeVarargs によるヒープ汚染防止
  5. 05再利用可能なジェネリック API 設計
  6. 06レコードや sealed 型との併用

活用シーン

  1. 01Java のジェネリック型安全性の改善
  2. 02型を再利用できる API へのリファクタリング
  3. 03ワイルドカードと変位の使い方のレビュー
  4. 04未検査キャストや raw 型への対処

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jabrena/plinth --skill 128-java-generics

インストール後、Claude Code で/128-java-genericsを入力して読み込まれたか確認します。

同梱ファイルreferences/128-java-generics.md

詳細

Java ジェネリクスのベストプラクティス

包括的なジェネリクスのベストプラクティスを適用して Java コードをレビューおよび改善し、コンパイル時の型安全性を確保するとともに、柔軟で再利用可能な API を実現します。

このスキルで扱う内容

  • 型安全性:raw 型の回避、安全でないキャストの排除
  • コードの再利用性:複数の型コンテキストで使用できるジェネリックメソッドと型
  • PECS ワイルドカード:プロデューサーには ? extends、コンシューマーには ? super
  • 型推論に使用するダイヤモンド演算子
  • 型消去への対応:型トークン、ファクトリーパターン、配列の生成
  • ジェネリック継承と変性:不変性、共変性、反変性
  • ヒープ汚染を防ぐ @SafeVarargs
  • ワイルドカードキャプチャヘルパー、流れるようなビルダーに使用する自己境界ジェネリクス(CRTP)
  • 適切なワイルドカード API 設計:Comparator<? super T>、Function<? super T, ? extends R>
  • 配列とジェネリクスの共変性に関する落とし穴、TypeReference/TypeToken を使ったシリアライズ
  • ジェネリック型の命名規則(T、E、K/V、?)、型安全な異種コンテナ
  • レコード、シールド型、パターンマッチングとの統合

対象範囲: このリファレンスは、各中核領域の例(適切/不適切なコードパターン)ごとに構成されています。該当する例に基づいて推奨事項を適用してください。

制約

ジェネリクスの変更を適用する前に、プロジェクトがコンパイルできることを確認してください。コンパイルに失敗した場合は、直ちに中止してください。解決するまで先に進まないでください。改善を適用した後は、完全な検証を実行してください。

  • 必須: 変更を適用する前に ./mvnw compile または mvn compile を実行してください
  • 安全性: コンパイルに失敗した場合は、直ちに中止して先に進まないでください。コンパイル失敗は作業を妨げる条件です
  • 検証: 改善を適用した後に ./mvnw clean verify または mvn clean verify を実行してください
  • 適用前: 詳細な例、適切/不適切なパターン、制約を確認するため、リファレンスを読んでください
  • エッジケース: 依頼の範囲が曖昧な場合は、変更を適用する前に中止して確認してください
  • エッジケース: 必要な入力、ファイル、またはツールが不足している場合は、不足しているものを報告し、セットアップの案内を進めてよいか確認してください

このスキルを使用する場面

  • ジェネリクスを使用してコードを改善する
  • ジェネリクスを適用する
  • ジェネリクスを使用してコードをリファクタリングする
  • Java API のジェネリック型安全性を高める
  • Java コードの raw 型や未検査キャストを修正する

ワークフロー

  1. ジェネリクスの変更前にプロジェクトをコンパイルする

./mvnw compile または mvn compile を実行し、コンパイルに失敗した場合は直ちに中止してください。

  1. ジェネリクスのリファレンスを読み、型安全性を評価する

references/128-java-generics.md を読み、raw 型、安全でないキャスト、ワイルドカードの誤用、API の変性に関する改善の機会を特定してください。

  1. ジェネリクスのリファクタリングを適用する

動作を維持しながら、選択したジェネリック型と API の改善を実装してください。

  1. 完全なビルドで検証する

改善を適用した後に ./mvnw clean verify または mvn clean verify を実行してください。

リファレンス

詳細なガイダンス、例、制約については、references/128-java-generics.md を参照してください。

コメント