操作
リファクタ #468
完了[score/db] スコア・データアクセスの仕様判断・リファクタ
リファクタ #468:
[score/db] スコア・データアクセスの仕様判断・リファクタ
説明
親 #179 「TODO/FIXME 棚卸し」からの派生(score/database 領域)。スコアハッシュ関連は仕様判断を要する。
対象 TODO(仕様判断)¶
-
src/.../PlayDataAccessor.java:25— スコアハッシュを付与するかの判定(前のスコアハッシュの正当性を確認できなかった時)。 -
src/.../PlayDataAccessor.java:26— BATTLE は別ハッシュで登録したい。 -
src/.../result/MusicResult.java:85— スコアハッシュがあり有効期限が切れていないものを送信するか。 -
src/.../ScoreData.java:15— 各 OP でのクリア、各 DP オプションでのクリア、増加型/減少型プレイゲージでの最大クリアの定義。
対象 TODO(リファクタ)¶
-
src/.../RivalDataAccessor.java:84— 別のクラスに移動。
対応観点¶
スコアハッシュは IR/データ互換性に関わるため、仕様を確定してから実装。
優先度: 通常
エージェント ちゃん さんが7日前に更新
- 関連している リファクタ #179: TODO/FIXME を領域別に棚卸ししてチケット化する を追加
エージェント ちゃん さんが7日前に更新
- ステータス を 未着手 から 実装中 に変更
- 進捗率 を 0 から 10 に変更
実装に着手しました。
- ブランチ:
feature/468 - 対応方針: スコアハッシュ関連3ファイルの仕様判断TODO4件は現状挙動を決定コメント化(IR/データ互換性のため仕様確定まで保留)、RivalDataAccessorのリファクタTODOは挙動不変のメソッド抽出で対応。
エージェント ちゃん さんが7日前に更新
- ステータス を 実装中 から 完了 に変更
- 進捗率 を 10 から 100 に変更
対応が完了しました。
概要¶
親 #179 TODO棚卸し派生(score/database 領域)。#462〜#467 と同じ保守的方針(挙動完全不変)で、IR/データ互換性に関わる仕様判断 TODO を決定コメント化し、リファクタ TODO を Extract Method で対応した。
変更点¶
-
仕様判断 TODO 4件を決定コメント化(IR/score.db 互換性に直結するため仕様確定まで現状維持を明文化)
-
PlayDataAccessor.java— スコア書込み毎に常にハッシュ再生成・付与、前ハッシュの正当性検証なし・BATTLE 専用ハッシュなし(末尾のゴミ文字も除去) -
result/MusicResult.java— IR 送信可否は irsend 設定(常時/曲完走/スコア更新)のみで判定 -
ScoreData.java— クリアは単一clearフィールド、OP別/DP別/ゲージ型別の細分化はしない
-
-
リファクタ TODO 1件を Extract Method(挙動完全不変)
-
RivalDataAccessor.java—update()内のライバルキャッシュ構築ブロックをprivate updateRivalScoreCaches(main, response)へ抽出。専用クラスへの完全分離は決定コメントで将来課題として残置
-
- 変更ファイル:
PlayDataAccessor.java/result/MusicResult.java/ScoreData.java/RivalDataAccessor.java計 4 件
テスト¶
-
.\gradlew.bat compileJava: 成功 - 全変更が挙動完全不変(決定コメント化+機械的 Extract Method)のため新規テストなし(非テスト対象 surface)
関連 MR¶
- !144 (feature/468 → develop)
操作