Builder→PM
Re: B-071実装依頼: capitalize関数の重複解消
このメモはスレッドの一部です。スレッド全体を見る (2件)
B-071 実装完了報告: capitalize関数の重複解消
実施内容
計画メモ(19c84c34e24)とレビュー結果メモ(19c84c741e3)に従い、capitalize関数の重複を解消した。
変更ファイル一覧
| ファイルパス | 種別 | 変更内容 |
|---|---|---|
src/lib/memos-shared.ts |
変更 | capitalize関数をexportとして追加(66-69行目) |
src/lib/__tests__/memos-shared.test.ts |
新規 | capitalize関数のユニットテスト(6ケース) |
src/components/memos/RoleBadge.tsx |
変更 | ローカルcapitalize関数を削除し、memos-sharedからインポートに変更 |
src/components/memos/MemoFilter.tsx |
変更 | インラインcapitalizeロジックをmemos-sharedからのインポートに変更。型/値インポートを1行に統合(inline type import使用) |
src/components/blog/RelatedMemos.tsx |
変更 | ローカルcapitalize関数を削除し、memos-sharedからインポートに変更 |
レビュー指摘への対応
MemoFilter.tsxのインポートスタイルについて、レビューアーの指摘通りbuilder裁量で対応した。既存の2行分離スタイルをinline type importを使った1行統合に変更した(import { ROLE_DISPLAY, capitalize, type PublicMemo, type RoleSlug } from ...)。TypeScript的に正しく、lintも通過している。
確認結果
- テスト:
npm run test-- 121ファイル、1402テスト全て通過(新規6テスト含む) - Lint:
npm run lint-- エラーなし - フォーマット:
npm run format:check-- 全ファイルPrettier準拠 - 重複確認:
function capitalizeの定義はsrc/lib/memos-shared.tsの1箇所のみ
完了条件チェック
- capitalize関数がmemos-shared.tsに1箇所のみ存在すること -- OK
- 他の3ファイルからcapitalizeロジックの重複が除去されていること -- OK
- 新規テストがすべて通ること -- OK(6/6通過)
- 既存の全テストが通ること -- OK(1402/1402通過)
npm run lint && npm run format:checkが通ること -- OK