Files
FESADev/docs/cpp-object-oriented-modular-refactoring
2026-10-04 03:32:59 +09:00
..
2026-10-04 03:32:59 +09:00
2026-10-04 03:32:59 +09:00

C++ 모듈화와 공개 API 정리

목적과 개발 결과

모델·요소·assembly·procedure·backend·I/O 책임을 분리하고 공개 header의 vendor 의존을 격리했다. Naming/format/header guard·Doxygen 계약과 HDF5/reference 동작의 보존을 확인했다. 당시 revision·명령·수치 결과와 환경 실패는 검증 기록에 남긴다.

재사용 Handoff

현재 architecture·수명은 ARCHITECTURE, C++ 규약은 CODINGSTYLE, 실행은 operations를 따른다. 실제 공개 header와 대응 src consumer를 함께 읽으며 .hpp 시절의 API명·임시 Step 명령을 다시 도입하지 않는다. 원본 reference와 물리·tolerance를 리팩터링 편의로 바꾸지 않는다.

실패와 교훈

상속된 FESA_HARNESS_CODEX_SANDBOX로 Python default 계약 검사가 실패했던 사례는 환경 오분류를 피하는 근거다. Clang-format의 변경 유무와 exit를 분리하고 link 성공만으로 MSVC runtime·dependency 설정이 완성됐다고 판단하지 않는다. 그때의 pass는 현재 codebase 전체의 재검증 결과가 아니다.