操作
リファクタ #165
完了コードベースの棚卸
リファクタ #165:
コードベースの棚卸
説明
- Claudeによるコードベースのレビュー
- 使わないファイルやフォルダなどの削除
エージェント ちゃん さんが25日前に更新
操作
#2
- ステータス を 未着手 から 実装中 に変更
- 進捗率 を 0 から 10 に変更
実装を開始します。コードベース棚卸として、未使用ファイル・フォルダ候補を確認し、削除可能なものを整理します。
エージェント ちゃん さんが25日前に更新
操作
#4
Claude にコードベース全体レビューを依頼しました。ファイル編集・削除は行っていません。
高確度の指摘¶
-
docs/codebase-overview.mdが現状と乖離しています。- 存在しない
docs/dependencies-inventory.mdへの参照があります。 - ソース数・テスト数・パッケージ表が現状より古くなっています。
- Jar entry point の説明が
MainLoaderになっていますが、実際のMain-ClassはBeatorajaLauncherです。
- 存在しない
- リポジトリ直下の
beatoraja.0.log〜beatoraja.4.logはランタイム生成物の混入候補です。.gitignoreにはbeatoraja_log.xmlのみあり、ローテーションログの ignore パターンがありません。 -
build.gradleに古い・環境依存の設定があります。-
localLibsの exclude 対象は現在のlib/に存在せず、Maven 依存移行前の名残に見えます。 -
verifyFfmpegDecodeの既定引数にD:/rei-no-are/010/010_BGA_256_no_sound.mpgという開発者ローカルの絶対パスがあります。
-
- 肥大化したホットスポットがあります。
skin/property/SkinProperty.javaskin/lr2/LR2PlaySkinLoader.javaplay/BMSPlayer.javaplay/JudgeManager.javaaudio/AbstractAudioDriver.javaMainController.java
- 変更リスクが高い中核にテスト不足があります。
play/JudgeManager.java- audio driver / PCM 系
play/LaneRenderer.java- skin loader の詳細な解釈ロジック
- launcher controller / view model ロジック
人間の確認が必要な候補¶
-
folder/default.json、random/default.json、tools/performance-log-summary.ps1は配布物として意図された追跡対象か確認が必要です。 -
ScoreLogDatabaseAccessorとScoreDataLogDatabaseAccessorはどちらも使用中ですが、責務が近く将来的な整理候補です。 -
skin/property/配下の巨大な property / event 定義群は整理余地がありますが、JSON/LR2/Lua 互換に関わるため設計判断が必要です。 -
*Smoke.javaやexperimentalパッケージは一見削除候補に見えますが、Gradle の検証タスクから使われるため削除しない方針です。 - TODO/FIXME は 78 件あり、特に audio、LaneRenderer、PCM、JudgeManager に集中しています。
Claude の総評¶
コード自体の死蔵ファイルは少なく整理されています。即対応しやすい棚卸対象は、ドキュメントの陳腐化、ログ生成物の混入、build.gradle の古い exclude と環境依存パスです。アーキテクチャ面では、肥大中核ファイルへのテスト追加が費用対効果の高い次アクションです。
エージェント ちゃん さんが25日前に更新
操作
#5
Claude レビュー結果から、実施すべきリファクタリング作業を以下の Redmine チケットとして作成しました。
- #171 docs/codebase-overview.md を現状に合わせて更新する
- #172 ランタイムログ生成物の追跡状態と ignore 設定を整理する
- #173 build.gradle の古い localLibs exclude とローカル絶対パスを整理する
- #174 JudgeManager のテスト追加と責務分割方針を検討する
- #175 audio driver / PCM 系のテスト追加方針を整理する
- #176 skin property 定義群の肥大化を整理する方針を作る
削除候補や仕様判断が必要な項目は、今回の「やるべきリファクタリング」起票からは外しています。
エージェント ちゃん さんが25日前に更新
操作
#6
確認が必要だった項目について、ユーザー判断を反映しました。
確認結果¶
-
folder/default.jsonとrandom/default.jsonは配布物として残す。 -
tools/performance-log-summary.ps1は保守用ツールとして残す。 -
ScoreLogDatabaseAccessorとScoreDataLogDatabaseAccessorは統廃合して整理する。 -
skin/property/配下の property / event 定義群は分割・整理する。 -
*Smoke.javaやexperimentalパッケージは検証で使うため削除せず、保守対象とする。 - TODO/FIXME はカテゴリ分けしてチケット化する。
追加作成したチケット¶
- #177 ScoreLogDatabaseAccessor と ScoreDataLogDatabaseAccessor の統廃合方針を整理する
- #178 Smoke / experimental 検証コードを保守対象として整理する
- #179 TODO/FIXME を領域別に棚卸ししてチケット化する
既存チケットで扱う項目¶
- skin property 定義群の分割・整理は #176 で扱う。
-
folder/default.json、random/default.json、tools/performance-log-summary.ps1は削除対象ではないため、追加チケット化はしない。
いづ さん さんが25日前に更新
操作
#7
- 関連している リファクタ #171: docs/codebase-overview.md を現状に合わせて更新する を追加
- 関連している リファクタ #172: ランタイムログ生成物の追跡状態と ignore 設定を整理する を追加
- 関連している リファクタ #173: build.gradle の古い localLibs exclude とローカル絶対パスを整理する を追加
- 関連している リファクタ #174: JudgeManager のテスト追加と責務分割方針を検討する を追加
- 関連している リファクタ #175: audio driver / PCM 系のテスト追加方針を整理する を追加
- 関連している リファクタ #176: skin property 定義群の肥大化を整理する方針を作る を追加
- 関連している リファクタ #177: ScoreLogDatabaseAccessor と ScoreDataLogDatabaseAccessor の統廃合方針を整理する を追加
- 関連している リファクタ #178: Smoke / experimental 検証コードを保守対象として整理する を追加
- 関連している リファクタ #179: TODO/FIXME を領域別に棚卸ししてチケット化する を追加
エージェント ちゃん さんが25日前に更新
操作
#8
- ステータス を 実装中 から 完了 に変更
- 進捗率 を 10 から 100 に変更
コードベース棚卸し作業を完了します。
実施内容¶
- Claude にコードベース全体レビューを依頼し、結果を本チケットに記録しました。
- 高確度の整理対象と、人間の確認が必要な項目を分離しました。
- ユーザー確認結果を反映しました。
- 実施すべきリファクタリング作業を個別チケットとして作成しました。
派生チケット¶
- #171 docs/codebase-overview.md を現状に合わせて更新する
- #172 ランタイムログ生成物の追跡状態と ignore 設定を整理する
- #173 build.gradle の古い localLibs exclude とローカル絶対パスを整理する
- #174 JudgeManager のテスト追加と責務分割方針を検討する
- #175 audio driver / PCM 系のテスト追加方針を整理する
- #176 skin property 定義群の肥大化を整理する方針を作る
- #177 ScoreLogDatabaseAccessor と ScoreDataLogDatabaseAccessor の統廃合方針を整理する
- #178 Smoke / experimental 検証コードを保守対象として整理する
- #179 TODO/FIXME を領域別に棚卸ししてチケット化する
判断済み事項¶
-
folder/default.jsonとrandom/default.jsonは配布物として残します。 -
tools/performance-log-summary.ps1は保守用ツールとして残します。 -
*Smoke.javaとexperimentalパッケージは検証用途として残し、保守対象にします。
本チケットの目的であるレビューと作業分解は完了しました。
操作