heyday2024 님의 블로그
클린 코드 (Clean Code) 본문
1. 클린 코드란?
- 가독성이 높음: 코드를 읽는 사람이 쉽게 이해할 수 있음.
- 유지보수가 용이함: 코드 수정이나 확장이 쉬움.
- 일관성: 코드 스타일과 패턴이 일정함.
- 중복 최소화 (DRY): 같은 코드를 반복하지 않음.
2. 클린 코드를 작성하기 위한 원칙
- 의미 있는 이름
- 변수, 함수, 클래스의 이름은 목적이 명확해야 함.
- ✅ getUserInfo()
- ❌ dataProcess()
- 함수는 작게 유지
- 함수는 하나의 책임(Single Responsibility Principle)만 가질 것.
- ✅ calculateDiscount(price)
- ❌ processOrderAndSendEmail(order)
- 중복 코드 제거
- 중복된 코드는 함수로 분리하거나 재사용 가능한 컴포넌트로 작성.
- ✅ function formatDate(date) { ... }
- ❌ 각 화면에서 동일한 날짜 포맷 로직 사용.
- 주석은 최소화, 코드로 의도를 전달
- 주석 대신 코드 자체로 설명 가능하도록 작성.
- ✅ const maxUserCount = 100;
- ❌ // 최대 사용자 수는 100명입니다.
- 에러 처리 철저히
- 에러가 발생할 가능성을 항상 고려하고, 명확히 처리.
- ✅ if (!user) throw new Error("User not found");
- ❌ 프로그램이 예외를 삼키고 진행.
- 코드 포맷 통일
- 코드 스타일 가이드(lint, prettier) 적용.
3. 배운 점
- 짧고 간결한 코드보다 의도가 명확한 코드가 더 중요함.
- 클린 코드를 위해 코드 리뷰와 리팩토링이 필수적임.
- PR(pull request) 동료가 리뷰할 때, 한번에 많은 양의 코드 올리지 말고 동료가 리뷰할 수 있을 정도의 가능한 양만큼으로 세분화해서 올려주기.
- 그리고 코드 수정, 생성, 변화한거 작성 시 test checklist도 올려주기. (QA한거 :어떠어떠한 테스트해봤다. 잘 돌아가더라~~~)
- 새로운 함수 만들때 마지막에 작성했다고, 무작정 끝에 두지 말고 비슷한 기능, 역할 하는 애들과 모아서 두기.
- 파일 폴더 이름 명료하게!! ==> 중간에 새로운 개발자가 투입되어도 각 파일과 코드들이 어디를 다루고 어떤 역할을 하는지 알정도로...
- 함수 작성 시 받는 인수가 적을 수록 좋다. 보통 받는 인수가 다양하면 한 함수가 여러역할을 한다던가, 객체로 들어와도 되는 경우이므로 다시 살펴보자!!
- 프리리뷰와 포스트리뷰에 대해서...
- 프리리뷰와 포스트리뷰프리리뷰(Pre-Commit Review)와 포스트리뷰(Post-Commit Review)는 소프트웨어 개발에서 코드 품질을 높이기 위한 중요한 리뷰 프로세스.
- 프리리뷰 (Pre-Commit Review)프리리뷰는 코드가 실제로 커밋되기 전에 진행되는 리뷰. 이 단계에서 개발자는 코드를 작성하기 전에 설계나 요구 사항에 대해 팀원들과 논의함.
- 설계 변경 최소화: 코드 작성 전에 리뷰를 통해 과도한 설계 변경을 방지할 수 있음
- 공유된 이해: 팀원 간에 서로의 관점을 공유하여 코드 품질 기준을 맞추고, 기능에 대한 도메인 지식을 강화
- 효율적인 코드 리뷰: 사전 논의를 통해 코드 리뷰 시 이해도가 높아져, 리뷰어가 코드를 파악하는 데 필요한 시간이 줄어듬
- 포스트리뷰 (Post-Commit Review)포스트리뷰는 코드가 커밋된 후에 진행되는 리뷰.
- 즉각적인 피드백: 개발자는 자신의 코드를 먼저 커밋하고, 이후 다른 팀원들로부터 피드백을 받을 수 있음. 이는 개발자가 자신의 작업을 신뢰하고 더 빠르게 진행할 수 있도록함
- 유연성: 포스트리뷰는 긴급한 수정이 필요할 때 유용하며, 코드가 이미 배포된 상태에서 발생하는 문제를 신속하게 해결할 수 있음
- 자동화 도구 사용: 많은 현대 개발 환경에서는 GitHub와 같은 플랫폼에서 포스트리뷰를 지원하는 도구들이 제공되어, 리뷰 프로세스를 쉽게 관리가능...
- 프리리뷰 (Pre-Commit Review)프리리뷰는 코드가 실제로 커밋되기 전에 진행되는 리뷰. 이 단계에서 개발자는 코드를 작성하기 전에 설계나 요구 사항에 대해 팀원들과 논의함.
- 프리리뷰와 포스트리뷰프리리뷰(Pre-Commit Review)와 포스트리뷰(Post-Commit Review)는 소프트웨어 개발에서 코드 품질을 높이기 위한 중요한 리뷰 프로세스.
- 여러개의 조건을 적은 수로 줄인다고 성능상으로 크게 차이 없음... 조건문 압축하지 말기.
- 조건문을 굳이 최적화하지 말기. 조건문 안에 이름을 편하게 명식적으로 지정해줘서 사용하기.
- 조건문이 길어질 때 그 내용을 변수로 만들어 사용하고, 그 변수 이름을 확실히 지어줘서 명시적으로 하기.
- 조건문 중첩해서 써야할 때: early return 이용하기 (Guard Clause)
'프론트엔드 부트캠프' 카테고리의 다른 글
내가 만든 쿠키~~~~너를 위해 구웠지 (1) | 2024.11.25 |
---|---|
팀과제 + DB에 대해서 (1) | 2024.11.18 |
CORS에 대해서 (2) | 2024.11.14 |
[개인과제] 포켓몬 도감 만들 때 참고한 부분(1) (0) | 2024.11.13 |
RESTful API (3) | 2024.11.13 |