2021-03-10-TIL
2021-03-10-TIL
[CODE REVIEW]
- 수요일 - Jane, bat
- 금요일 - August, 새리
Mission 1 by Bat
- HiddenHttp가 어떤 역할을 하죠?
- field에
@Autowired
는 지양하는게 좋은 것 같습니다.Field injection is not recommended
- https://stackoverflow.com/questions/39890849/what-exactly-is-field-injection-and-how-to-avoid-it#:~:text=The%20reasons%20why%20field%20injection,in%20unit%20tests)%20without%20reflection.
- https://yaboong.github.io/spring/2019/08/29/why-field-injection-is-bad/
- https://blog.marcnuri.com/field-injection-is-not-recommended/
- SpringMVC 형태로 프로젝트를 진행한다면 service 클래스를 별도로 구현하고 거기에서 repository를 의존주입 받아서 사용하는 것이 바람직할 것 입니다. 그리고 controller에서는 repository(혹은 dao) 객체를 주입받는 형태입니다. 하지만 이미 JPA를 사용하여 구현하셔서 정확히 어떤것이 맞다고 하긴 힘들겠네요..
- 에러 처리에 관한 내용 - Whitelable Error Page가 안뜨도록
- Handlebars 블록 템플릿을 이용하여 묶어주는게 좋아보인다.
- QuestionController 인덱스 반환하는거 HomeController를 따로 분리하는 것이 좋아보인다.
- Logger 사용 및 toString() 사용목적 고려
- final로 url관리하는 것은 추천받은 내용인가요?
[Jane]
- HiddenHttp 설정은 스프링 2.x 버전부터 설정을 해주어야 한다. application.properties에 설정해주게 되면 자동생성되니까 클래스를 이렇게 별도로 생성할 필요가 없다.
- https://stackoverflow.com/questions/34048617/spring-boot-how-to-use-hiddenhttpmethodfilter
- QuestionController 인덱스 반환하는거 HomeController를 따로 분리하는 것이 좋아보인다.
- UserController에서 Optional로 받은 것을 예외처리 덜 한것같다.
- JPA 기획자와 소통을 위해 가입은 join, 웹 페이지에서 볼 수 있는 유의미한 네이밍으로!!
- MvcConfiguration에서 user/login을 그대로 하면 안될 수 있다.
[Kyu]
- System.out.println -> Logger 사용으로
- @PathVariable Long id를 사용하는 이유? -> 빼도될것같아서 빼야겠다.
Mission 2 by Jane
[August]
- logger.info를 보통 저렇게 문자열만 출력하는지는 모르겠으나, 좀 더 세련된(?) 방법으로 answer객체의 생성을 확인하는 방법 등이 있을 것 같습니다.
- HttpSessionUtils가 controller에 해당하는 클래스는 아닌데, 유틸클래스가 만약에 많아진다면 별도의 패키지로 분리하는 것도 나쁘진 않을 것 같습니다.
- 필드를 개행 해주는 것도 좋은것 같습니다.
- Logger를 스태틱으로 선언
- protected 생성자는 어떤 목적인가요? ->
- isSameAuthor이 더 직관적이지 않을까 하는 개인적인 의견입니다.
- getDate에서 포맷팅 해주는 것 보다는 별도의 getter로 포맷해주는 것이 더 좋다고 합니다.
- 진짜 서비스처럼 구현하기 위해서는 비밀번호 확인 페이지를 별도로 만드는게 좋아보입니다.
[Kyu]
- 아무것도 입력을 안해도 회원가입이 되더라.
- 질문 작성할 때 일부 내용이 고정되어있던데 수정 부탁.
- 맵핑되지 않은 url 처리에 대하여 -> 404 페이지 커스텀 해보기 추천.
- 데이터가 날아가지 않게 처리한 것이 좋아보임.
- jpa repository에서 인터페이스만 작성하였는데 어떻게 내부적으로 구현해주는지?
[bat]
- qna 번호가 전부 8로 되어있는 부분 수정.
- HttpSessionUtils를 따로 뺸 이유? -> 그냥 중복되어서…
[새리]
- protected로 생성자를 정의한 이유? -> 다른데서 초기화되지 않은채로 마음대로 객체를 생성하는 것을 방지하기 위해서
This post is licensed under CC BY 4.0 by the author.