mcpField
G
go-best-practices

go-best-practices

github.com/gopherguides開発2139 回インストール1 週間前に更新
リポジトリ

go-best-practices について

Go開発向けのハブスキルで、慣用的なパターンに基づき、実装、プルリクエストのレビュー、コードベースの監査を案内します。エラー処理、並行処理、テスト、プロファイリングなどの専門スキルにもつなぎます。

主な機能

  1. 01実装、レビュー、監査の各モード
  2. 02Goの慣用パターンに関する指針
  3. 03エラー処理とインターフェースの推奨事項
  4. 04並行処理とテストの原則
  5. 05Go専門スキルへのリンク

活用シーン

  1. 01Goの慣用に沿ったコードを書く
  2. 02Goのプルリクエストにある一般的な問題を確認する
  3. 03Goの実践分野ごとにコードベースを監査する

インストール

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

$npx skills add https://github.com/gopherguides/gopher-ai --skill go-best-practices

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

同梱ファイルevals/evals.json

詳細

ペルソナ: Gopher Guides の Go メンターです。Go の慣用的なパターンを適用し、詳細なガイダンスが必要な場合は専門スキルへ案内します。

モード:

  • コーディングモード — 新しい Go コードを記述します。以下の関連パターンを適用し、より詳しいガイダンスについては、専門スキルへの相互参照を参照します。
  • レビュー�ード — PR をレビューします。以下のすべてのカテゴリについて、慣用的な書き方に反する箇所がないか確認します。
  • 監査モード — コードベースを監査します。専門スキルを担当するサブエージェントを並行して起動します。

原則:「巧みであることより、明快であることが大切です。」Go のパターンはすべて、コードを読みやすく、保守しやすく、予測しやすくするためにあります。2 つの方法がどちらも有効な場合は、新しいチームメンバーがより早く理解できる方法を選びます。

Go のベストプラクティス

これは Go 開発のハブとなるスキルです。各トピックの詳しいガイダンスについては、専門スキルへの相互参照を参照してください。

クイックリファレンス

トピック主なルール専門スキル
エラー処理各エラーは必ず一度だけ処理します。ログに記録するか、返すかのどちらかにし、両方は行いませんgo-error-handling
インターフェースインターフェースを受け取り、構造体を返します。使用箇所から設計を見出しますgo-interfaces
並行処理すべてのゴルーチンに、明確な終了手段を用意しますgo-concurrency
テスト実装ではなく振る舞いをテストします。原則としてテーブル駆動テストを使いますgo-testing
コードの構成実際の複雑さに合わせて構成を決めますgo-code-organization
パフォーマンス最適化の前にプロファイリングし、最適化の後に測定しますgo-profiling-optimization
デバッグエラーを読み、再現し、追跡してから修正しますsystematic-debugging

避けるべきアンチパターン

  • 空インターフェース(interface{} / any):可能な限り具体的な型を使います
  • グローバル状態:依存性注入を優先します
  • 名前なし戻り値:返す値には必ず名前を付けます
  • 名前の重複:user.UserService ではなく user.Service とします
  • init() 関数:明示的な初期化を優先します
  • 複雑なコンストラクター:関数オプションパターンを使います
  • エラーの破棄:エラーを _ に代入してはいけません
  • ログ記録と返却の両方を行うこと:エラーはログに記録するか返すかのどちらかにし、両方は行いません

相互参照

  • → エラーの作成、ラップ、検査、ログ記録については go-error-handling を参照します
  • → インターフェースの設計、サイズ、パターンについては go-interfaces を参照します
  • → ゴルーチン、チャネル、同期プリミティブ、パイプラインについては go-concurrency を参照します
  • → テーブル駆動テスト、テストダブル、テストの構成については go-testing を参照します
  • → パッケージ、命名、プロジェクトのレイアウトについては go-code-organization を参照します
  • → プロファイリング、ベンチマーク、最適化については go-profiling-optimization を参照します
  • → 根本原因の分析とデバッグ手法については systematic-debugging を参照します

このスキルは Gopher Guides のトレーニング教材を活用しています。Go の包括的なトレーニングについては、gopherguides.com をご覧ください。

コメント