Skeleton code란?

하나의 프로그램이 동작하는 전체 과정을 한눈에 알아볼 수 있도록 그 구조를 나타낸 틀입니다. 일종의 설계도 또는 코드 디자인의 영역

1 단계 특정한 역할로 구체화

// 자판기 사용 클래스
- 동전 투입 : 자판기에 투입한 현금을 현재 잔액으로 전환하고 잔액으로 구매 가능한 상품 리스트를 보여준다. 
- 상품 선택 : 상품 번호와 수량을 지정하여 원하는 상품을 선택한다. 재고를 확인하고 구매를 완료하여 다시 구매 가능한 상품 리스트를 보여준다. 
- 잔액 반환 : 자판기의 잔액을 0원으로 초기화한다. 

// 자판기 재고 관리 클래스
- 신규 상품 등록 : 상품 등록에 필요한 정보(상품명, 수량, 가격)를 바탕으로 자판기에 해당 상품을 등록하고 번호를 부여한다. 
- 재고 업데이트(물건 채워넣거나 빼기) : 특정 번호의 상품 수량(재고)을 변경한다. 
- 가격 업데이트 : 특정 번호의 상품의 가격을 변경한다. 
- 품목 삭제 : 특정 번호의 상품을 삭제한다.

2 단계 세부 메소드로 도출

// 자판기 사용 클래스
- 재고 확인 : 상품 목록을 열람하면서 선택한 상품의 재고를 확인한다. 
- 주문 처리 : 현재 잔액을 구매 금액에서 제하고 재고 수량을 변경하여 실제 요청한 구매를 처리한다. 
- 매진 여부 확인 : 선택한 상품의 매진 여부를 확인한다. 
- 구매 가능 품목 리스트 출력 : 투입한 금액 또는 잔액에 따라 구매 가능한 상품 목록을 출력한다. 

// 자판기 재고 관리 클래스
- 상품 번호 부여 : 신규 등록한 상품 정보에 고유 번호를 부여한다.  
- 상품 정보 생성 : 신규 상품 정보(상품명, 수량, 가격)를 객체 형태로 생성한다.

전체 틀

Untitled

이제 의사코드 구현으로

출처 : https://medium.com/@marcie179c/java-script-스켈레톤-코드-의사-코드-작성-자판기-애플리케이션-cb046014f21#:~:text=스켈레톤 코드(skeleton code)는,영역이라고 할 수 있습니다.