🎁[속보] 인프런 내 깜짝 선물 출현 중🎁

[인프런 워밍업 클럽 3기] BE 클린코드&테스트 - 2주차 발자국

[인프런 워밍업 클럽 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 미션에서는 코드 리뷰까지 도전!

🚀 목표: 실무에서도 활용할 수 있는 코드 품질 & 테스트 코드 역량 기르기!

댓글을 작성해보세요.


채널톡 아이콘