第9回|Geminiによるコメント生成・ドキュメント支援[AI]
⚙️ 準備と環境設定
Android Studio Otter 2025.2.1では、Gemini AIを利用してコードのコメント生成やドキュメント支援が可能です。開発効率向上やコード可読性の向上を目的に活用できます。まずは環境設定を行い、AI補完を有効化しましょう。
![第9回|Geminiによるコメント生成・ドキュメント支援[AI] 1 Android Studio Otter](https://zesys.net/blog/wp-content/uploads/2025/11/ChatGPT-Image-2025年11月10日-18_51_43-300x200.png)
1. プロジェクト設定
Geminiによるコメント生成を使用するには以下の準備が必要です:
- Kotlinをプロジェクトのメイン言語として設定
- Jetpack Composeの依存関係を最新にする
- Gemini AIプラグインを有効化し、AI補完・ドキュメント生成機能をONにする
- Gradle同期とLintチェックを完了して、依存関係を整理
2. Geminiコメント生成の基本
Geminiは自然言語やコード文脈を解析し、関数やクラスの説明コメントを生成します。例えば:
fun calculateSum(a: Int, b: Int): Int {
return a + b
}
Geminiを使用すると以下のようなコメントを自動生成できます:
/**
* 2つの整数を受け取り、その合計を返す関数
* @param a 1つ目の整数
* @param b 2つ目の整数
* @return a + b の合計
*/
このコメントにより、関数の役割や引数、戻り値が明確化され、コードレビューや保守が容易になります。
🤖 Geminiによる支援の使い方
3. 自動コメント生成の手順
Geminiでコメントを生成する手順は簡単です:
- コードブロックを選択
- 右クリックまたはAIメニューから「Generate Documentation」を選択
- Geminiがコードを解析し、Javadocスタイルのコメントを提案
- 提案を確認し、必要に応じて修正して適用
複雑な関数やラムダ式、Compose UI関数でも自動的に説明を生成できます。
4. Compose関数へのコメント例
例として、ホーム画面のリスト表示関数にコメント生成を行った場合:
@Composable
fun HomeScreen(items: List) {
LazyColumn {
items(items) { item ->
Text(text = item, modifier = Modifier.padding(8.dp))
}
}
}
Gemini生成コメント:
/**
* ホーム画面のリスト表示を行うComposable関数
* @param items 表示する文字列のリスト
* 各アイテムはLazyColumn内でTextとして描画される
*/
💡 Kotlinでの実装例
5. 入力フォームの説明コメント生成
GeminiはTextFieldやButtonなどのUI要素にもコメント生成が可能です:
@Composable
fun LoginForm(onLogin: (String, String) -> Unit) {
var email by remember { mutableStateOf("") }
var password by remember { mutableStateOf("") }
Column(modifier = Modifier.fillMaxSize().padding(16.dp)) {
TextField(value = email, onValueChange = { email = it }, label = { Text("Email") })
TextField(value = password, onValueChange = { password = it }, label = { Text("Password") }, visualTransformation = PasswordVisualTransformation())
Button(onClick = { onLogin(email, password) }) { Text("Login") }
}
}
Geminiによる生成コメント例:
/**
* ユーザーログインフォームのComposable関数
* @param onLogin ユーザーがログインボタンを押した時に呼ばれるコールバック関数
* EmailとPasswordの2つの引数を受け取る
* TextFieldで入力値を管理し、Buttonでログイン操作をトリガー
*/
🧩 FirebaseまたはCloudとの連携
Geminiコメント生成はFirebaseやCloud連携コードにも対応しています。例えば、Firestoreからデータ取得する関数の場合:
fun fetchUserData(userId: String, onResult: (User?) -> Unit) {
val db = Firebase.firestore
db.collection("users").document(userId).get()
.addOnSuccessListener { document ->
val user = document.toObject(User::class.java)
onResult(user)
}
.addOnFailureListener {
onResult(null)
}
}
Gemini生成コメント:
/**
* Firestoreから特定ユーザーのデータを取得する関数
* @param userId 取得対象のユーザーID
* @param onResult データ取得後に呼ばれるコールバック。Userオブジェクトまたはnullを返す
* Firestoreのコレクション"users"からデータを取得
*/
このように、非同期処理やコールバックも含めてAIがコメント化できるため、保守性の向上に役立ちます。
📘 まとめ
第9回では、Geminiによるコメント生成・ドキュメント支援の活用方法を解説しました。KotlinやJetpack Composeの関数、UIコンポーネント、Firebase連携コードに対して、AIがJavadocスタイルの説明を自動生成します。これにより、コードの可読性と保守性が向上し、開発効率も大幅に改善可能です。
「※本ブログはこの一文以外は、AIによる記載です。内容にウソが含まれている可能性がありますので、ご注意ください。写真もAIで作成しています。」