![[하루메이트] Custom Hook으로 리팩토링하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkE5GJ%2FbtssHBS5YcI%2FXommejQPlXbU5x1BXklcYk%2Fimg.png)
useEnterPage 로그인이 필요한 페이지에서 사용하는 훅입니다. 다음과 같은 동작을 합니다. 1. 로그인 상태를 확인하고 로그인 상태가 아닐 경우 메인으로 보내고 로그인 모달을 켭니다. 2. 적절하게 진입했을 경우 페이지의 스크롤을 0으로 초기화합니다. import { useEffect } from 'react'; import useValidEnter from './useValidEnter'; import scrollToTop from '../utils/scrollToTop'; const useEnterPage = () => { const checkValidEnter = useValidEnter(); useEffect(() => { checkValidEnter(); scrollToTop(); }, ..
![[하루메이트] Clean Code 적용하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcslLko%2FbtsrhExWdp3%2Fplr9G0HkK1PIl7spUGg74k%2Fimg.png)
프로젝트가 끝난 후 자유시간도 충분히 즐겼고 이제 리팩토링만 남았습니다. 자유시간 동안 클린 코드(Clean Code)라는 책을 읽었는데 이 책을 기반으로 리팩토링을 진행하려고 합니다. 책에서 프로그래머들의 말을 빌려 깨끗한 코드(Clean Code)가 무엇인지 이야기합니다. 깨끗한 코드는 보기에 즐거워야하며(우아한) 효율적이어야 한다. 또한 가독성이 좋아야한다. 깨끗한 코드일 때 다른 사람이 고치기 쉽다.(여기서 읽기 쉬운 코드와 고치기 쉬운 코드는 다름) TDD를 중요하게 이야기하는데 테스트 케이스가 없는 코드는 깨끗한 코드가 아니다.라고 적혀있을 정도입니다. 중복이 없어야 한다. 등등 정말 많은 내용이 있었습니다.. 리팩토링을 하다 보면 항상 느끼는 거지만 첫 리팩토링에 클린 코드의 모든 조건을 만..
![[하루메이트] 회고](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk9Fb8%2FbtsqB9cG0WM%2F1LTkTxLLVNgShbbJpLvCOk%2Fimg.png)
배포 후 hotfix까지 진행하고 메인프로젝트가 어느 정도 마무리가 되었습니다. 물론 아직 가장 큰 산인 리팩토링이 남아있지만... 프로젝트가 끝낼 때까지 왜 아무 글이 없냐고 한다면... 회고 나중에 해야지...해야지.. 미루다가 까먹어버린 우매한 자신 때문입니다. 지금 회고를 작성하면서 가장 먼저 떠오른 생각은 회고는 그때 그때 작성하자입니다.. 프로젝트 진행하면서는 시간이 너무 없고 기능 구현이 우선이라고 생각해서 따로 쓸 거리만 정리해 두었는데 그러다 보니 끝나고 나서 기억이 잘 나지 않더라고요.. 어떻게 떠듬떠듬 기억해 보면서 쓰겠지만 당시에 작성했더라면 더 좋은 회고가 되었을 텐데 라는 생각이 듭니다. 간단한 프로젝트 소개 본격적으로 회고에 들어가기 앞서 간단하게 프로젝트와 제가 맡은 파트를 ..