Skip to content

feat!: SharedKernel StudentIdの実装#87

Merged
KinjiKawaguchi merged 4 commits into
developfrom
feat/shared-kernel-student-id
Mar 12, 2026
Merged

feat!: SharedKernel StudentIdの実装#87
KinjiKawaguchi merged 4 commits into
developfrom
feat/shared-kernel-student-id

Conversation

@KinjiKawaguchi

@KinjiKawaguchi KinjiKawaguchi commented Mar 12, 2026

Copy link
Copy Markdown
Member

Summary

  • 学籍番号(StudentId)の値オブジェクトをSharedKernelとして追加
  • 旧形式(8桁数字)と新形式(3桁数字+英字+4桁数字)の両方に対応
  • fromString ファクトリメソッドで小文字→大文字正規化・空白トリムを実施
  • private constructorにより直接インスタンス化を防止
  • 12件のユニットテストを追加

Test plan

  • 旧形式・新形式の正常系テスト
  • 大文字正規化・空白トリムのテスト
  • 桁数不正・英字のみ・英字位置不正・空文字等の異常系テスト
  • equalsメソッドの等価性テスト
  • lint, typecheck, test全てパス

Related

🤖 Generated with Claude Code


Open with Devin

学籍番号の値オブジェクトを追加。旧形式(8桁数字)と新形式(3桁数字+英字+4桁数字)に対応し、
小文字英字の大文字正規化・前後空白トリムを行うファクトリメソッドを提供する。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings March 12, 2026 06:16
devin-ai-integration[bot]

This comment was marked as resolved.

This comment was marked as resolved.

OLD_FORMAT/NEW_FORMAT → NUMERIC_ONLY/ALPHANUMERIC に改名し、
2025年度からの形式変更をコメントに記載。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
devin-ai-integration[bot]

This comment was marked as resolved.

Member集約およびユースケース・リポジトリでstring型だったstudentIdを
StudentId値オブジェクトに置き換え、システム境界でバリデーションを保証する。

BREAKING CHANGE: Member constructor, setStudentId, getStudentIdの型がstringからStudentIdに変更

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@KinjiKawaguchi KinjiKawaguchi changed the title feat: SharedKernel StudentIdの実装 feat!: SharedKernel StudentIdの実装 Mar 12, 2026
devin-ai-integration[bot]

This comment was marked as resolved.

@KinjiKawaguchi KinjiKawaguchi merged commit 49d5562 into develop Mar 12, 2026
4 checks passed
@KinjiKawaguchi KinjiKawaguchi deleted the feat/shared-kernel-student-id branch March 12, 2026 07:04
KinjiKawaguchi added a commit that referenced this pull request Mar 23, 2026
## Summary
- 学籍番号(StudentId)の値オブジェクトをSharedKernelとして追加
- 旧形式(8桁数字)と新形式(3桁数字+英字+4桁数字)の両方に対応
- `fromString` ファクトリメソッドで小文字→大文字正規化・空白トリムを実施
- private constructorにより直接インスタンス化を防止
- 12件のユニットテストを追加

## Test plan
- [x] 旧形式・新形式の正常系テスト
- [x] 大文字正規化・空白トリムのテスト
- [x] 桁数不正・英字のみ・英字位置不正・空文字等の異常系テスト
- [x] equalsメソッドの等価性テスト
- [x] lint, typecheck, test全てパス

## Related
- PR #81 から StudentId 部分を分割したPR
- マージ後、PR #81 をリベースしてAffiliation部分のみにする

🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- devin-review-badge-begin -->

---

<a href="https://app.devin.ai/review/su-its/core/pull/87"
target="_blank">
  <picture>
<source media="(prefers-color-scheme: dark)"
srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1">
<img
src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1"
alt="Open with Devin">
  </picture>
</a>
<!-- devin-review-badge-end -->

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants