[BoostCourse] 프로젝트 4. 예약관리 시스템: 상세페이지 (BE)


 - 이전 글


 - 다음 글


PJT4. 예약관리 시스템: 상세페이지 (BE)



 - 프로젝트4 제출에 대한 피드백 정리



1. 피드백 요약

[피드백]

 1. 하나의 메소드에 하나의 기능 (private 메소드로 구현)

 2. 필요하지 않은 주석 및 코드는 제거



[수정]

 1. controller

  1) MainPageController

   ① 필요없는 코드 삭제 (detail)


 2. dao

  1) displayInfoDao

   ② queryForObject의 예외처리 필요

   ③ displayInfoId값에 대한 예외상황 테스트 소스 필요


  2) productDao

   ① 변경 내용이 없는 Mapper는 final한 변수 처리

   ② java변수 선언 시 필요한 부분에 선언

   ③ 고정적인 값은 상수로 선언


 3. sql

  1) 쿼리에 대한 설명을 작성하되 내용 중간에 넣지 않기


 4. service 

  1) 하나의 메서드에는 하나의 로직(기능)만을 넣기

  2) 로직 구현 시 반복 내용 줄일 수 있는 로직 구현하기


[기능 분리]

 - 하나의 메소드에 하나의 기능만을 사용할 수 있도록 로직 분리


[불필요한 코드 및 주석 제거]

 - 의미 없이 다는 주석을 삭제

[불필요한 메서드 삭제]

 - 우선 페이지 이동을 위한 메소드를 만들어 놨었으나 상세페이지 구현 시 파라미터가 필요하여 다시 만듦

 - 파라미터 없는 메서드 삭제 했어야 함



[항상 예외처리가 필요한 API 로직]

 - 파라미터는 null값과 다른 의도하지 않은 예외 값에 대한 예외처리가 필요

 - 또한 파라미터가 그래도 잘못 들어갔을 경우 queryForObject() 호출 시, EmptyResultDataAccessException 예외처리가 필요


[변경될 일이 없는 내용]

 - static final 



[변수의 선언]

 - 이 내용은 정확하게는 이해를 못함..

 - 변수 선언된 자리가 사용되는 부분과 많이 떨어진 상태가 아니라서 바로 위에 선언해야 하는건가?


[상수 선언시 static final]

 - 프로젝트 구현 시, 상품 데이터를 호출 할 때 고정된 값을 사용하기 때문에 상수 선언을 해줘야 함


[상수로 선언되면 더 좋을 코드]

 - "0"은 전체 리스트라는 값을 표현하기 위해서 사용하고 있었기 때문에 상수로 선언해둘 경우 더 좋을 듯



[주석의 위치]

 - 코드 중간에 주석은 코드를 읽는데 불편함을 줄 수 있다.


[하나의 메소드에는 하나의 기능만]

 - comment 안에 CommnetImage를 가져와야 하는데 그 로직은 따로 메소드로 만들 것


[효율적인 로직]

 - 피드백 해주신 내용대로 불필요한 반복 작업을 줄일 수 있다.


+ Recent posts