![[인프런 워밍업 클럽 3기] BE 클린코드&테스트 - 2주차 발자국](https://cdn.inflearn.com/public/files/blogs/8f4e26e3-a83d-47fb-beb1-027a98a6337c/인프런.png)
[인프런 워밍업 클럽 3기] BE 클린코드&테스트 - 2주차 발자국
✍ 블로그 요약: 읽기 좋은 코드 & 테스트 코드 정리
📌 Readable Code: 가독성 높은 코드 작성법
1⃣ 주석 최소화
주석이 많으면 코드가 비즈니스 요구사항을 제대로 반영하지 못한 것.
코드로 표현할 수 없는 의사 결정 기록만 남기기.
2⃣ 변수 & 메서드 정렬 원칙
변수: 사용 순서대로 배치.
메서드: 공개 메서드 → 상태 변경 → 판별 → 조회 순으로 정렬.
3⃣ 코드 리팩토링 & 가독성 향상
Enum
활용해 의미 전달 (ex:GameStatus.IN_PROGRESS
).객체 역할 분리 (ex:
GameBoard
= 비즈니스 로직,MineSweeper
= 컨트롤러).
4⃣ 패키지 구조 개선
패키지는 문맥을 제공하는 역할.
유지보수를 고려해 적절한 수준으로 나누고 팀원과 협의.
5⃣ IDE 도구 활용
코드 자동 정렬 (
Option + Command + L
).코드 품질 유지 도구 (SonarCube, lint,
.editorconfig
).
6⃣ 오버 엔지니어링 방지
불필요한 추상화/인터페이스 남발 금지.
하나뿐인 구현체가 있다면 인터페이스 생략 가능.
7⃣ 실무에서 코드 품질 vs 빠른 개발
완벽한 코드보다 실용적인 코드가 중요.
TODO 주석을 활용해 미래 리팩토링 가이드 남기기.
8⃣ 결론: 완벽한 코드는 없다
클린 코드도 적절한 수준에서 적용.
도메인 지식을 늘리고 비즈니스 요구사항을 이해하는 것이 핵심.
📌 Practical Testing: 테스트 코드의 중요성
1⃣ 왜 테스트 코드가 중요한가?
자동화된 테스트로 빠르고 정확한 피드백 제공.
수동 테스트는 비효율적이며 오류 가능성이 높음.
2⃣ JUnit5 & AssertJ 활용한 자동화 테스트
✅ assertThat
을 활용해 검증 코드 작성 → 일관성과 유지보수 용이.
3⃣ 테스트 케이스 설계
경계값 테스트 등 다양한 시나리오를 고려한 테스트 설계 필요.
🔥 미션 & 한주 회고
📍 StudyCafe 리팩토링 미션
만족스러운 코드 작성 못함 → 마감 기한보다 늦게 제출.
피드백을 통해 개선점 발견 → 다시 리팩토링하여 업데이트 예정.
📍 한주 회고
읽기 좋은 코드 강의 종료 → 테스트 코드 학습 시작.
이전 회사에서 테스트 코드를 작성할 기회가 없었음 → 이번 기회에 제대로 배우기!
Day 11 미션에서는 코드 리뷰까지 도전!
🚀 목표: 실무에서도 활용할 수 있는 코드 품질 & 테스트 코드 역량 기르기!
댓글을 작성해보세요.