「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>
Nyash Development Documentation 🔧
開発者向けの進行中タスクと開発計画ドキュメントです。
📂 ディレクトリ構造
current/
CURRENT_TASK.md- 現在進行中のタスク- アクティブな開発作業の詳細
- 最新の実装状況
roadmap/
- phases/ - フェーズ別開発計画
- phase-8/ - AST→MIR変換
- phase-9/ - VM/JIT実装
- phase-10/ - AOT最適化
- native-plan/ - ネイティブビルド計画
- 実行バックエンド統合
- パフォーマンス目標
proposals/
- RFC(Request for Comments)
- 新機能提案
- 設計ディスカッション
🎯 重要な参照先
- 進行状況:
current/CURRENT_TASK.md - 開発計画:
roadmap/phases/ - 技術提案:
proposals/
📝 注意事項
このディレクトリの内容は開発中であり、頻繁に変更されます。
安定した仕様はreference/を参照してください。