Files
FESADev/phases/cpp-object-oriented-modular-refactoring/step6.md
T

73 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Step 6: I/O and Application Google Style
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
## 읽어야 할 파일
- `/AGENTS.md`
- `../../docs/solver-core/README.md`
- `../../docs/solver-core/README.md`
- `../../docs/solver-core/README.md`
- `../../docs/linear-static-3d-euler-beam/README.md`
- `../../docs/linear-static-mitc4-shell/README.md`
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
- `/include/fesa/io/abaqus/domain_mapper.hpp`,
`/include/fesa/io/abaqus/input_reader.hpp`,
`/include/fesa/io/abaqus/input_syntax.hpp`
- `/src/fesa/io/abaqus/domain_mapper.cpp`, `/src/fesa/io/abaqus/input_reader.cpp`
- `/include/fesa/io/hdf5/hdf5_results_writer.hpp`,
`/src/fesa/io/hdf5/hdf5_results_writer.cpp`
- `/include/fesa/app/fesa_application.hpp`, `/src/fesa/app/fesa_application.cpp`,
`/src/fesa/app/main.cpp`
- `/tests/unit/io/abaqus/domain_mapper_test.cpp`,
`/tests/unit/io/abaqus/input_reader_test.cpp`,
`/tests/unit/io/abaqus/input_syntax_test.cpp`
- `/tests/unit/io/hdf5/hdf5_results_writer_test.cpp`,
`/tests/integration/app/fesa_application_test.cpp`
- `/tests/reference/reference_comparison.hpp`,
`/tests/reference/mitc4_reference_comparison.hpp`
- `/tests/reference/reference_comparison.cpp`,
`/tests/reference/reference_comparison_test.cpp`,
`/tests/reference/b33_reference_comparison_test.cpp`,
`/tests/reference/mitc4_reference_comparison.cpp`,
`/tests/reference/mitc4_reference_comparison_test.cpp`,
`/tests/reference/mitc4_reference_cases_test.cpp`
- Step 3–5가 생성한 `.h` headers와 callsites
- `/phases/cpp-object-oriented-modular-refactoring/index.json`
- `/phases/cpp-object-oriented-modular-refactoring/step6.md`
## 작업
Requirement `R-STYLE-001`의 I/O/application slice와 `R-DOC-001`을 구현한다.
1. I/O, app, reference helper tests의 include와 calls를 먼저 전환해 RED compile failure를
기록한다.
2. Production I/O/application headers와 test-only reference helper headers를 `.h`와
full-path guards로 전환한다.
3. Production 및 test C++ functions/accessors를 PascalCase로 전환하고 variables/members,
enums/constants를 CODINGSTYLE에 맞춘다.
4. Production parser/mapping/HDF5/application declarations와 atomic finalization,
source identity, backend lifetime에 관한 internal helper에 Doxygen를 추가한다.
5. Test files에는 Doxygen를 추가하지 않는다.
6. Abaqus keyword subset, diagnostics, HDF5 path/attributes/dataset order, atomic replacement,
comparator tolerance와 required/warning quantity를 변경하지 않는다.
## Acceptance Criteria
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
## 검증 및 상태 갱신
- RED/Green evidence와 HDF5/reference focused inventory를 summary에 기록한다.
- 성공 시 현재 Step만 `completed`로 갱신한다.
- schema/reference regression이면 `error`로 기록하고 artifacts를 고치지 않는다.
- timestamp, retry, commit, advancement는 Executor 소유다.
## 금지사항
- Mapper/HDF5 writer를 아직 분할하지 마라. 이유: Step 21과 23 소유다.
- Reference CSV, `.inp`, tolerance 또는 comparator 의미를 변경하지 마라.
- Generated Doxygen를 만들지 마라.
- 직접 commit하거나 hook script를 수동 실행하지 마라.