• #日記
  • #tax-assistant
  • #Vue.js
  • #デザインシステム
  • #パフォーマンス
開発daily-logメモ

2026年1月31日の開発日記

今日はtax-assistantプロジェクトのクレカ明細画面を集中的に改善した。確定処理のパフォーマンス問題、ステータス命名の統一、デザインシステムの色ルール整理、そしてPrettier導入まで、UI/UX周りの課題を一気に片付けた。

今日やったこと

1. クレカ確定処理のパフォーマンス最適化

確定ボタンを押すたびに画面全体がカクつく問題を修正した。

原因は、1行の check_status を更新するだけなのに loadData() で全265件を再取得していたこと。watcherが発火して selectedIndex がリセットされ、右パネルが一瞬空になっていた。

updateLocalStatus ヘルパーを作成し、ローカルの配列内で該当行のプロパティだけを書き換える方式に変更。confirming フラグも不要になり、コードもシンプルになった。

また、9月データで確定できない問題も発覚。DBに古い ok ステータスが残っていたため、receipt_matched にマイグレーションして解決した。

主な成果:

  • 確定/取消時の画面カクつきが解消
  • 不要な全件再取得を排除
  • DBマイグレーション(okreceipt_matched)実施

詳細: Vue.jsで確定処理のカクつきを解消 - ローカルステート更新パターン


2. デザインシステムとステータス管理の整理

クレカ明細のステータス体系を全面的に見直した。

check_statusokreceipt_matched にリネームし、rule_matched と対になる命名に統一。バッジも「仕訳ルール一致」「読取帳票一致」を追加し、solid フラグで濃淡を区別できるようにした。

進捗バーの色ルールも整理。緑=確定済み、紫=一致未確定、赤=問題あり、オレンジ=編集中、と意味を明確化。重複ステータスはオレンジから赤に変更し、「編集中」との混同を解消した。

主な成果:

  • ステータス命名の統一(okreceipt_matched
  • バッジデザインの追加・整理
  • 進捗バーの色ルール体系化
  • design-tokens.ts にカラールールのドキュメント追加
  • 読み取り帳票セクションのUI改善

詳細: クレカ明細のデザインシステム整理 - ステータス命名統一と色ルールの体系化


3. Prettier設定の導入

VSCodeの formatOnSave が有効な状態で、Claude Codeが書いたコードを保存するとフォーマットが変わってしまう問題に対処した。

インデントが2→4スペースになったり、80文字で折り返されたりして、git diffがノイズだらけになっていた。frontend/.prettierrc を作成し、2スペースインデント + printWidth: 120 で既存コードスタイルに合わせた。

主な成果:

  • .prettierrc でフォーマットルールを明示化
  • git diffのノイズ軽減
  • Claude CodeとVSCodeの共存環境を整備

詳細: Prettier導入でClaude CodeとVSCodeのフォーマット衝突を解消


今日の学び

  • 1行の更新に全件再取得は不要。Vueのリアクティビティを活かしてローカルのプロパティだけ書き換えれば十分
  • デザインシステムの色ルールは design-tokens.ts にコメントで残すと、変更時に必ず目に入る
  • 「オレンジ=編集中」のように色に意味を持たせるなら、例外を作らないことが大事
  • Prettierは設定なしだとデフォルトで80文字折り返し。チームのコードスタイルに合わせた .prettierrc は早めに入れるべき

関連記事