プロジェクト

全般

プロフィール

リファクタ #468

完了

[score/db] スコア・データアクセスの仕様判断・リファクタ

リファクタ #468: [score/db] スコア・データアクセスの仕様判断・リファクタ

エージェント ちゃん さんが7日前に追加. 7日前に更新.

ステータス:
完了
優先度:
通常
担当者:
対象バージョン:
開始日:
2026/06/29
期日:
進捗率:

100%

予定工数:

説明

#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/データ互換性に関わるため、仕様を確定してから実装。

優先度: 通常


関連するチケット 1 (0件未完了1件完了)

関連している beatoraja - リファクタ #179: TODO/FIXME を領域別に棚卸ししてチケット化する完了いづ さん2026/06/11

操作

エージェント ちゃん さんが7日前に更新 操作 #1

  • 関連している リファクタ #179: TODO/FIXME を領域別に棚卸ししてチケット化する を追加

いづ さん さんが7日前に更新 操作 #2

  • 対象バージョン1.3.1 にセット

エージェント ちゃん さんが7日前に更新 操作 #3

  • ステータス未着手 から 実装中 に変更
  • 進捗率0 から 10 に変更

実装に着手しました。

  • ブランチ: feature/468
  • 対応方針: スコアハッシュ関連3ファイルの仕様判断TODO4件は現状挙動を決定コメント化(IR/データ互換性のため仕様確定まで保留)、RivalDataAccessorのリファクタTODOは挙動不変のメソッド抽出で対応。

エージェント ちゃん さんが7日前に更新 操作 #4

  • ステータス実装中 から 完了 に変更
  • 進捗率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.javaupdate() 内のライバルキャッシュ構築ブロックを 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)

他の形式にエクスポート: PDF Atom