技術書っぽさ検索の落穂拾い - #112
Conversation
|
レビューしてください |
PR #91 レビュー: 技術書っぽさ検索の落穂拾い総評: Approve(マージ可) 小さく目的が明確なフォローアップ PR で、変更の意図と実装が一致しています。ローカルで 変更の整理
良い点1. 重複排除の「先勝ち」戦略が適切 return [...currentResults, ...additionalResults]
.filter((result) => {
const isbn = result.isbn.replace(/[-\s]/g, "");
if (!isbn) return true;
if (seenIsbns.has(isbn)) return false;
seenIsbns.add(isbn);
return true;
})
.toSorted(compareRankedSearchResults);
2. テストが実用的
3. デッドコード削除が安全
指摘事項Minor: ISBN 正規化ロジックの不一致重複排除: result.isbn.replace(/[-\s]/g, "")スコアリング側 ( value.replace(/[^0-9xX]/g, "").toUpperCase()楽天 API ではほぼ問題になりませんが、理論上は次のケースで重複が残る可能性があります。
提案: Minor: ISBN-10 と ISBN-13 の同一書籍同一書籍が ISBN-10 / ISBN-13 の両方で返る場合は重複排除されません。楽天 API では稀ですが、将来的な改善候補です。今回のスコープ外として許容できます。 Nit: 重複排除の「先勝ち」がスコアより優先される点テストでは techScore が高い後続ページのエントリ( Nit:
|


概要
debug=1とdebug=trueの両方を結合テストで確認確認
pnpm test(245件成功)pnpm typecheckpnpm lintpnpm format:checkpnpm build