nyash-codex
ac14f94578
refactor(phase115): FileHandleBox 箱化・モジュール化実装完成
「Everything is Box」原則に基づいて FileHandleBox を整理し、
コード重複を削減して保守性を大幅向上。
【Task 1】テストヘルパー外出し
- tests/common/file_box_helpers.rs を新規作成
- setup_test_file / cleanup_test_file / init_test_provider を共有化
- FileBox と FileHandleBox 両方で統一的なテストヘルパーを使用可能に
【Task 2】ny_* メソッド統一化(マクロ化)
- 4つのマクロを新規定義:
- ny_wrap_void!(open, write, close)
- ny_wrap_string!(read)
- ny_wrap_bool!(exists, is_file, is_dir)
- ny_wrap_integer!(size)
- 8個のny_*メソッドをマクロ呼び出しに置き換え
- 削減効果: 52行 → 8行(85%削減!)
【Task 3】ドキュメント & テスト確認
- FileHandleBox ドキュメントに "Code Organization" セクション追加
- Phase 115 実装内容を明記(モジュール化・箱化・マクロ統一化)
- CURRENT_TASK.md に Phase 115 セクション追加
【効果】
- 保守性向上: ny_* メソッドの重複パターンをマクロで一元管理
- テスト共有化: 共通ヘルパーで FileBox/FileHandleBox 間の一貫性確保
- 可読性向上: 実装の意図が明確に
- 拡張性: 新しいny_*メソッド追加時はマクロ呼び出し1行で完了
【統計】
- 新規作成: 2ファイル(+40行)
- 修正: 2ファイル(+72行, -62行)
- 実質: +50行(マクロ・ヘルパー・ドキュメント追加)
- テスト: 27個全PASS(1個は環境依存で ignore)
【技術的工夫】
- マクロ展開後の動作が既存と同一(互換性維持)
- エラーハンドリング一元化(unwrap_or_default / unwrap_or(false))
- allow(unused_mut) で警告抑制
【Phase 106-115 全体成果】
Ring0/FileBox I/O パイプライン第1章完全クローズ
- 10フェーズ完成
- 60ファイル修正
- +2,500行実装
- 59テスト全PASS
- Ring0 / Ring1 / FileBox / FileHandleBox 完全統一設計
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 04:13:15 +09:00
..
2025-11-20 08:41:37 +09:00
2025-12-04 04:13:15 +09:00
2025-11-06 15:41:52 +09:00
2025-11-25 10:19:02 +09:00
2025-09-22 07:54:25 +09:00
2025-09-15 22:14:42 +09:00
2025-09-19 02:07:38 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-01 09:05:02 +09:00
2025-08-23 16:33:32 +09:00
2025-09-16 23:49:36 +09:00
2025-09-16 23:49:36 +09:00
2025-11-22 05:33:40 +09:00
2025-09-16 23:49:36 +09:00
2025-11-20 03:56:12 +09:00
2025-09-16 23:49:36 +09:00
2025-11-21 06:25:17 +09:00
2025-09-16 23:49:36 +09:00
2025-11-20 03:56:12 +09:00
2025-09-16 23:49:36 +09:00
2025-12-02 12:36:28 +09:00
2025-09-25 01:09:48 +09:00
2025-09-16 16:28:25 +09:00
2025-12-02 12:36:28 +09:00
2025-09-25 01:09:48 +09:00
2025-09-16 23:49:36 +09:00
2025-09-16 23:49:36 +09:00
2025-09-16 23:49:36 +09:00