Files
everything-claude-code/docs/ja-JP/commands/kotlin-review.md
T
Claude ec9ace9c54 docs: add native Japanese translation of ECC documentation (ja-JP)
Translate everything-claude-code repository to Japanese including:
- 17 root documentation files
- 60 agent documentation files
- 80 command documentation files
- 99 rule files across 18 language directories (common, angular, arkts, cpp, csharp, dart, fsharp, golang, java, kotlin, perl, php, python, ruby, rust, swift, typescript, web)
- 199 skill documentation files

Total: 455 files translated to Japanese with:
- Consistent terminology glossary applied throughout
- YAML field names preserved in English (name, description, etc.)
- Code blocks and examples untouched (comments translated)
- Markdown structure and relative links preserved
- Professional translation maintaining technical accuracy

This translation expands ECC accessibility to Japanese-speaking developers and teams.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-17 02:31:40 -04:00

141 lines
4.6 KiB
Markdown

---
description: Kotlinコードのイディオムパターン、nullセーフティ、コルーチンの安全性、セキュリティに関する包括的なコードレビュー。kotlin-reviewerエージェントを呼び出します。
---
# Kotlinコードレビュー
このコマンドは**kotlin-reviewer**エージェントを呼び出し、Kotlin固有の包括的なコードレビューを行います。
## このコマンドの動作
1. **Kotlinの変更を特定**: `git diff`で変更された`.kt``.kts`ファイルを検出
2. **ビルドと静的解析を実行**: `./gradlew build``detekt``ktlintCheck`を実行
3. **セキュリティスキャン**: SQLインジェクション、コマンドインジェクション、ハードコードされたシークレットを確認
4. **Nullセーフティレビュー**: `!!`の使用、プラットフォーム型の処理、安全でないキャストを分析
5. **コルーチンレビュー**: 構造化された並行性、ディスパッチャーの使用、キャンセレーションを確認
6. **レポートを生成**: 重大度別に問題を分類
## 使用するタイミング
`/kotlin-review`を使用するのは:
- Kotlinコードを書いたり変更した後
- Kotlinの変更をコミットする前
- Kotlinコードを含むプルリクエストをレビューする時
- 新しいKotlinコードベースにオンボーディングする時
- イディオマティックなKotlinパターンを学ぶ時
## レビューカテゴリ
### CRITICAL(修正必須)
- SQL/コマンドインジェクション脆弱性
- 正当化なしの強制アンラップ`!!`
- プラットフォーム型のnullセーフティ違反
- GlobalScopeの使用(構造化された並行性の違反)
- ハードコードされた認証情報
- 安全でないデシリアライゼーション
### HIGH(修正すべき)
- イミュータブルで十分な場合のミュータブルな状態
- コルーチンコンテキスト内でのブロッキングコール
- 長いループでのキャンセレーションチェックの欠落
- sealed型に対する非網羅的な`when`
- 大きな関数(50行超)
- 深いネスト(4レベル超)
### MEDIUM(検討すべき)
- 非イディオマティックなKotlin(Javaスタイルのパターン)
- トレイリングカンマの欠落
- スコープ関数の誤用やネスト
- 大きなコレクションチェーンでのsequenceの欠落
- 冗長な明示的型
## 実行される自動チェック
```bash
# ビルドチェック
./gradlew build
# 静的解析
./gradlew detekt
# フォーマットチェック
./gradlew ktlintCheck
# テスト
./gradlew test
```
## 使用例
````text
User: /kotlin-review
Agent:
# Kotlinコードレビューレポート
## レビュー対象ファイル
- src/main/kotlin/com/example/service/UserService.kt(変更)
- src/main/kotlin/com/example/routes/UserRoutes.kt(変更)
## 静的解析結果
✓ ビルド: 成功
✓ detekt: 問題なし
WARNING: ktlint: フォーマット警告2件
## 検出された問題
[CRITICAL] 強制アンラップNullセーフティ
File: src/main/kotlin/com/example/service/UserService.kt:28
Issue: nullableなリポジトリ結果に!!を使用
```kotlin
val user = repository.findById(id)!! // NPEリスク
```
Fix: セーフコールとエラーハンドリングを使用
```kotlin
val user = repository.findById(id)
?: throw UserNotFoundException("User $id not found")
```
[HIGH] GlobalScopeの使用
File: src/main/kotlin/com/example/routes/UserRoutes.kt:45
Issue: GlobalScopeの使用は構造化された並行性を壊す
```kotlin
GlobalScope.launch {
notificationService.sendWelcome(user)
}
```
Fix: コールのコルーチンスコープを使用
```kotlin
launch {
notificationService.sendWelcome(user)
}
```
## サマリー
- CRITICAL: 1
- HIGH: 1
- MEDIUM: 0
推奨: FAIL: CRITICALの問題が修正されるまでマージをブロック
````
## 承認基準
| ステータス | 条件 |
|-----------|------|
| PASS: 承認 | CRITICALまたはHIGHの問題がない |
| WARNING: 警告 | MEDIUMの問題のみ(注意してマージ) |
| FAIL: ブロック | CRITICALまたはHIGHの問題が検出 |
## 他のコマンドとの統合
- まず`/kotlin-test`を使用してテストが通ることを確認
- ビルドエラーが発生した場合は`/kotlin-build`を使用
- コミット前に`/kotlin-review`を使用
- Kotlin固有でない懸念には`/code-review`を使用
## 関連
- エージェント: `agents/kotlin-reviewer.md`
- スキル: `skills/kotlin-patterns/`、`skills/kotlin-testing/`