1. 오늘 한 내용 (Day 5 개발 기록)
① 입고 기능 구조 확장 (메뉴 1~5 설계)
- 기존 기능: Add (신규 등록)
- 개념 확장: “등록”과 “입고” 기능 분리
※ 입고 메뉴를 1~5번으로 세분화
- 1번 (신규) : 새로운 단품 부품 등록 후 입고
- 2번 (기존) : 이미 등록된 단품 재고 추가
- 3번 (신규 커스텀) : 사용자 조합 생성 후 세트 입고
- 4번 (기존 커스텀) : 저장된 사용자 조합 세트 입고
- 5번 (프리셋) : B1~B6 기성품 세트 일괄 입고
→ 단품 / 커스텀 / 프리셋 구조 분리 완료
→ 입고 로직이 단순 기능에서 “시스템” 단계로 확장됨
② 함수 재사용 구조 개선 (listProducts 업그레이드)
- 문제
조회 함수를 상황별로 따로 만들 뻔함 - 개선
mode 파라미터 추가
listProducts(0); // 일반 조회
listProducts(1); // ID 포함 관리자용 조회
- 효과
함수 중복 제거
코드 길이 감소
유지보수성 향상
→ 하나의 함수에 역할 스위치 부여
→ 재사용성 강화
③ 취소(0번) 로직 추가
- 문제
- 사용자가 잘못 진입했을 때 빠져나갈 경로 없음 - 개선
- 주요 선택 지점에 다음 분기 추가
if (choice == 0) return;
- 효과
- UX 개선
- 무한 루프 방지
- 안전한 메뉴 구조 완성
④ 변수명 정비
- 문제
- qty 변수 중복 사용 → 가독성 저하 - 개선
- 상황별 명확한 변수명 사용 - 예시
- setRestockQty
- singleRestockQty
- 효과
- 코드 의미 명확화
- 디버깅 시 혼동 감소
2. 직면했던 에러
프리셋 세트 입고 부분 에러
- 세트 입고 처리 중 일부 로직 충돌 발생
- 재고 반영 과정에서 예상과 다른 동작 발생
→ 내일 디버깅 예정
3. 오늘 배운 핵심 개념
기능 확장 시 “구조 분리”의 중요성
입고 기능이 단순 재고 증가가 아니라, 단품 / 커스텀 / 프리셋으로 확장되면서
로직을 한 함수 안에 몰아넣으면 복잡도가 급격히 증가한다는 것을 체감했다.
- 해결 방식
- 메뉴 레벨에서 기능 분리
- 데이터 흐름 기준으로 로직 분리
- 공통 기능은 함수 재사용
→ 기능이 늘어날수록 코드가 복잡해지는 것이 아니라, 구조가 더 명확해지도록 설계해야 한다는 점을 학습함.
4. 현재 프로그램 진행도
| F01 입고 | F01-1. 신규단품입고 | ✅ |
| F01-2. 기존단품입고 | ✅ | |
| F01-3. 신규 커스텀 세트 입고 | ✅ | |
| F01-4. 기존 커스텀 세트 입고 | ✅ | |
| F01-5. 프리셋 세트 입고 | ⚠️ | |
| F02 수정 | ✅ | |
| F03 삭제 | ⚠️ | |
| F04 출고 | ⚠️ | |
| F05 조회 | ✅ | |
| F06 장부 | ❌ |
5. 다음 목표
- 프리셋 세트 입고 에러 수정
- 출고 시 수익 기록 기능 구현
- 매출 기록
- 누적 순이익 계산
- sales.txt 구조 설계
'포트폴리오 > [IoT 기반 피지컬 AI 교육일지]' 카테고리의 다른 글
| [ 15일차 기록 ] 조립 PC 재고 관리 프로그램 개발기 #6 (리팩토링 및 안정화) (0) | 2026.03.03 |
|---|---|
| [ 14일차 기록 ] 조립 PC 재고 관리 프로그램 개발기 #5 (출고·매출 시스템 완성) (0) | 2026.02.25 |
| [ 12일차 기록 ] 조립 PC 재고 관리 프로그램 개발기 #3 (대규모 데이터셋 구축 및 세트 출고 시스템 완성) (0) | 2026.02.23 |
| [ 11일차 기록 ] 조립 PC 재고 관리 프로그램 개발기 #2 (정렬 로직 개선 & 출고 기능 안정화) (1) | 2026.02.20 |
| [ 10일차 기록 ] 조립 PC 재고 관리 프로그램 개발기 #1 (기초 설계 및 CRUD 구현) (0) | 2026.02.19 |