[인프런 워밍업 클럽 1기] BE 2주차 발자국

[인프런 워밍업 클럽 1기] BE 2주차 발자국

두 번째 걸음

인프런 워밍업 클럽 1기 BE에서 자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지] 강의를 수강하며 작성하였다.

 

 

강의 학습

Clean Code

개발자는 요구사항을 구현하기 위해 코드를 작성하지만, 협업하는 경우 코드 작성 시간보다 코드를 읽는 시간이 더 많게 된다.

따라서, 코드만 보고도 의미 파악이 가능하도록 Clean Code 리펙토링을 진행해야 한다.

  • 함수는 최대한 작게 만들고 한 가지 일만 수행

  • 클래스는 작아야 하며 하나의 책임만을 가짐

그동안 작성하였던 Controller 코드를 3개의 역할로 나누어 보았다.

  1. API의 진입 지점으로써 HTTP Body를 객체로 변환 << Controller의 역할

  2. 현재 유저가 있는지 확인하고 예외 처리 << Service의 역할

  3. SQL을 이용해 DB와의 통신 담당 << Repository의 역할

Controller는 Service를 참조하고, Service는 Repository를 참조하기 때문에 불필요한 정보를 포함할 필요가 없도록 리펙토링하는 것도 중요하다.

 

Spring Bean

스프링 빈이란, 서버가 시작될 때 생성되는 거대한 컨테이너이다.

컨테이너 안에는 여러 클래스가 들어갈 수 있으며, 다양한 정보와 함께 인스턴스화도 이루어진다.

Controller는 @RestController, Service는 @Service, Repository는 @Repository를 입력해 스프링 빈으로 등록할 수 있다.

JdbcTemplate같은 경우 build.gradle에 설정해놓은 Dependency(의존성)가 스프링 빈으로 미리 등록해 준다.

스프링 빈을 이용하면 이렇듯 원래 역할이었던 Controller만이 JdbcTemplate를 참조하도록 만들 수 있다.

 

 

과제 수행

5일차 과제 : Clean Code 적용하기

Clean Code를 작성하는 방법을 조사하고 실제 코드에 적용시켜보았다.

  • 의미 있는 이름 사용하기

  • 함수는 작게, 한 가지 일만 하도록 만들기

  • 메서드 인수는 최대한 적게 받기

  • 중복되는 코드 제거하기

  • 주석 활용하기

  • 변하지 않거나, 일괄적으로 바꿔야 하는 숫자는 상수 처리하기

 

 

느낀 점

이번 주는 자격증 시험 등 일이 많아 과제를 제때 제출하지 못한 것이 아쉬웠다.

개발자들은 코드를 작성하는 것 만큼이나 코드를 읽는 일도 많으므로 단순히 돌아가는 코드가 아닌, 클린 코드 리펙토링을 통해 보기 쉬운 코드로 만드는 것의 중요성을 깨달았다.

스프링 빈과 이를 등록하기 위한 어노테이션은 코드를 구현하면서 그 의미와 역할에 대해 자세하게 생각해보지 않았는데, 강의자님의 자세한 설명과 알기 쉬운 예시로 개념에 대해 알게 되었다. 이를 통해 프로그램에서 기능을 구현할 때에도 이 코드가 왜 쓰였는지 생각해보는 습관을 들이게 될 것 같다.

댓글을 작성해보세요.

채널톡 아이콘