게시판 프론트 엔드 구현하는 순서
오늘은 이전 했던 과제를 참고하며 짰던 코드를 트레이너님께 피드백을 받았는데
(참고) 자바스크립트 리액트라이브러리 사용했고 스터디(공부모임)의 게시글을 열람하는 게시판을 구현하려고 했습니다.
코드를 짜고 리팩토링을 한 것이 아니라 이미 마음속에 전부 틀을 다 짜두고 코드를 짜서 리팩토링을 어디서 부터 할 지 어렵다.
라는 피드백을 받았다.
그리고 코드 짜는 순서를 보여주셨는데
일단 사전 준비로는 완벽한 기획서가 먼저다.(기획서에 무엇을 구현할지 어떻게 할 지를 정말 명확히 한 후 그것을 보면서 코드를 짜고 한쪽에는 쉘을 띄워 테스트를 본다.
1. 테스트 코드를 먼저 짠다.
import { render, screen } from '@testing-library/react';
import StudiesPage from './StudiesPage';
const navigate = jest.fn();
jest.mock('react-router-dom', () => ({
useNavigate() {
return navigate;
},
}));
describe('StudiesPage', () => {
it('redners title', () => {
render(<StudiesPage />);
screen.getByText(/스터디 게시판/);
});
it('renders write button', () => {
render(<StudiesPage />);
screen.getByText(/작성하기/);
});
it('renders study list', () => {
render(<StudiesPage />);
screen.getByText(/로지/);
screen.getByText(/사이드 프로젝트하실 프론트 한 분 구합니다/);
});
});
일단 큰 틀을 먼저 짠 후 나중에 추가되는 부분은 조금씩 수정한다.
2. 기획 UI를 보며 시맨틱 태그를 짠다.
위와 같이 구성할 것이라서 ( 글 쓰여진 날짜를 빼먹었다.)
보면서 일단 태그 맞추어서 짰다.
아래 숫자는 페이지네이션 구현용
3. 어떤 기준으로 분류할지 생각해서 코드를 빼낸다.
하나의 큰 페이지 에서 페이지네이션과 제목,작성하기 등의 부분은 Page 라는 컴포넌트에 두었고 그 내부는 게시물들의집합인 Studies 라는 컴포넌트로 두고 맵핑으로 뿌려주었다.
그리고 다시 그 맵 안에 Study라는 개별 컴포넌트를 만들어 id 별 링크를 만들었다.
데이터는 기존 만들었던 백엔드에서 추가된 부분이 많아 일단 직접 입력해주었다. -> 차후 백엔드 서버 만든후 Store 에서 관리해줄 예정
-> 이렇게 트레이너님이 보여준데로 짜니 명확하고 좀 더 결과물이 가시적이다.
이 구조를 기억해서 프론트를 짜보자.
이제 백엔드를 만들면 되는데 ... 해시태그를 어떻게 데이터베이스에서 관리해줄지를 고민하다 시간만 갔다...
생각해보자...
'개발 관련 학습 및 문제해결' 카테고리의 다른 글
자바 DTO의 속성값에 배열넣어주기[20221101-TIL] (0) | 2022.11.01 |
---|---|
데이터베이스에 배열 넣기?[20221031-TIL] (0) | 2022.10.31 |
프로젝트 기간 시간 및 작업량 관리하는 법[20221029 TIL] (0) | 2022.10.29 |
차근차근 제대로 가는게 제일 빠르다.[20221028 TIL] (0) | 2022.10.28 |
프로 개발자 첫걸음 체계적, 꼼꼼함[20221026-TIL] (0) | 2022.10.26 |
댓글