건물을 세울 때는 뼈대부터 세운다.
일단 뼈대를 세우고 나면
나머지는 살을 붙이는 일이다.
그만큼, 뼈대를 세우는 일은
큰 작업이고, 튼튼해야 하는 작업이다.
많은 일들이 이와 비슷하다.
큰 줄기부터 세우고, 곁가지를 덧붙인다.
글을 쓸 때는 개요부터 짜고 나서 문단을 채운다.
그림을 그릴 때는 밑그림부터 잡고 내용을 채운다.
수학 문제를 풀 때는 원하는 값과
그 값을 구할 수 있는 공식들부터 정한 뒤에
펜을 들고 계산을 시작한다.
프로그래밍도 그렇게 해야 한다.
개발을 할 때도 어느 정도 흐름을 짜야 한다.
전체적인 구조를 먼저 구상하고 설계해야 한다.
먼저 뼈대를 세우듯이 큰 흐름과 중심 기능들을 잡고,
그 뼈대에 살을 붙이는 식으로 접근해야 한다.
구현해야 하는 기능이 있다고 해서
무턱대고 키보드에 손부터 올린다.
그러면 기능을 구현할수록 점점
수정해야 하는 부분들이 늘어나고
없어도 되는 부분들이 덕지덕지 붙게 된다.
큰 흐름을 먼저 봐야 한다.
어떤 기능이 중심 기능인지,
어떤 기능은 여기저기서 반복되는 기능인지,
어디부터 어디까지를 한 기능으로 묶어서 구현하고
어디부터는 공통 기능으로 따로 빼 둘지,
유지보수가 편하도록 만들려면 어떻게 해야 할지,
고민해야 할 부분들이 많다.
이러한 단계를 모두 건너뛰고
타자부터 치기 시작하면 결국에는
길을 돌아서 가는 꼴이 된다.
예시
/주문 페이지
- 메인 테이블: 제품 목록 보기
> 데이터 출력: 테이블에 행 추가하기
> 숫자 출력: 상품 가격 콤마 찍기
> Pagination 처리
- 모달창: 제품 상세 보기
> 장바구니 넣기 버튼: 이미 추가한 상품은 갯수만 증가하도록
> 바로 주문하기 버튼: 날짜는 최소 3일 후부터 선택 가능
/장바구니 페이지
- 메인 테이블: 장바구니 목록 보기
> 데이터 출력: 테이블에 행 추가하기
- 결제하기 버튼: 선택한 상품들 일괄 구매
> 선택한 상품 정보들 읽어오기
> PG 연동하기
/반품 페이지
- 메인 테이블: 주문 목록 보기
> 데이터 출력: 테이블에 행 추가하기
> 숫자 출력: 상품 가격 콤마 찍기
> Pagination 처리
- 서브 테이블: 반품 항목 선택하기
> 데이터 출력: 테이블에 행 추가하기
> 배송 중인 주문은 반품 버튼 비활성화
> Pagination 처리
- 모달창: 반품 정보 입력
> 주문자 정보 불러오기
> 숫자만 입력 가능
- 220407
반응형
'개발자' 카테고리의 다른 글
| '수동적인 개발자'가 아니라 '능동적인 개발자'가 되기로 했다. (0) | 2022.08.05 |
|---|---|
| 초보 개발자가 가져야 하는 개발 방법론, 접근법, 우선순위, 마음가짐 (0) | 2022.07.10 |
| 개발자가 동사 중심으로 생각해야 할 때 (0) | 2022.05.07 |
| 팀 프로젝트에서 이해도를 높이는 태도와 실천 방법 (0) | 2022.04.18 |
| SI / 솔루션 / 웹에이전시 장단점 비교 (0) | 2022.03.17 |