Review Code
Go コードをレビューするスキル。
トリガー
- •「コードレビューして」「Go のレビュー」「レビューお願い」
- •「コード確認」「品質チェック」「ベストプラクティス確認」「改善点を教えて」
実行内容
- •対象コードの確認
- •Effective Go 基準でのレビュー
- •改善点の提案
- •セキュリティチェック
Claude への指示
実行手順
- •
対象の特定
ユーザーの指定から対象を特定:
- •ファイル名が指定されていれば、そのファイルをレビュー
- •指定がなければ、最近変更されたファイルを確認
bashgit diff --name-only HEAD~1 | grep '\.go$'
- •
コードレビュー実施
以下の観点でレビュー:
観点 チェック項目 コードスタイル gofmt 準拠、命名規則、パッケージ構成 エラーハンドリング エラーの適切な処理、ラッピング 並行処理 ゴルーチンリーク、レース条件、デッドロック パフォーマンス 不要なアロケーション、N+1、バッファサイズ セキュリティ 入力検証、SQL インジェクション、機密情報 テスト容易性 依存性注入、インターフェース分離 - •
静的解析の実行
bash# golangci-lint でチェック golangci-lint run --enable-all ./... # go vet でチェック go vet ./...
- •
レビュー結果の作成
レビュー基準
Effective Go
- •公式ドキュメント
- •命名規則(MixedCaps、短い変数名)
- •パッケージ設計
- •エラーハンドリング
Go Code Review Comments
- •Wiki
- •エラー文字列は小文字で開始
- •Don't Panic
- •Error Strings
出力形式
code
## コードレビュー結果
### 対象
- ファイル: {ファイル名}
### 評価サマリー
| 観点 | 評価 |
|------|------|
| コードスタイル | ⭐⭐⭐⭐☆ |
| エラーハンドリング | ⭐⭐⭐☆☆ |
| パフォーマンス | ⭐⭐⭐⭐⭐ |
| セキュリティ | ⭐⭐⭐⭐☆ |
### 改善点
#### 重要度: 高
1. {改善点}
- 箇所: {ファイル名}:{行番号}
- 理由: {理由}
- 提案: {改善案}
#### 重要度: 中
1. {改善点}
- 箇所: {ファイル名}:{行番号}
- 理由: {理由}
- 提案: {改善案}
### 良い点
- {良い点1}
- {良い点2}