🤓
토스 SLASH21 > 실무에서 바로쓰는 Frontend Clean Code를 보고
개인적으로 정리하기 위해서 쓴 글입니다
😵
흐름 파악이 어렵고
도메인 맥락 표현이 안되어
동료에게 물어봐야 알 수 있는 코드
새 파일에서 새로 코드를 짜는 경우는 깔끔함!
문제가 일어나는 경우는 기존 코드에서 기능을 추가하는 경우임
⬇︎ 의식의 흐름대로 기능을 추가했을 때 일어날 수 있는 반면사례 ⬇︎
원하는 로직을 빨리 찾을 수 있는 코드
가 클린코드임.
클린코드 != 짧은 코드
하나의 목적을 가졌는데 여기저기 흩뿌려진 코드 > 커스텀훅을 사용해서 하나로 뭉쳐봄 (openPopup 함수만 호출하면 커스텀 팝업을 열 수 있게 됨) > 읽기 힘든 코드가 됨
무엇을 뭉치는지?
당장 몰라도 되는 디테일 > 숨기면 짧은 코드만 보고도 맥락 파악 가능
코드 파악에 필수적인 핵심 정보 > 모듈을 넘나들면서 정보 파악해야함
선언적 프로그래밍
핵심 데이터(무엇을 하는지)만 전달받고 세부 구현은 뭉쳐 숨겨두는 개발 스타일
무엇을 하는 함수인지 빠르게 이해가 가능함
"무엇"만 바꿔서 쉽게 재사용 가능함
명령형 프로그래밍
읽는데 오래걸리고 재사용하기 어려움
어떻게 행동해야할지 하나하나 알려주기
두 방법 모두 유동적으로 사용
함수의 이름은 기능의 핵심을 담고 있어야 하고, 함수 하나는 하나의 기능을 해야함
한글 변수명으로 짓는 것도 괜찮은 방법임
정보를 시각적으로, 핵심 개념만 남기기
구체적인 코드, 명령형 개발을 먼저 수행하고
점점 원하는 핵심 개념만 남기는 추상화 단계를 거칠 수 있음
상황에 따라 필요한 만큼 추상화하면 됨
추상화 수준이 섞여있으면 파악하기 어려움
추상화 단계를 비슷하게 정리 > 추상화 수준이 높은 것끼리, 낮은 것끼리 모은다