본문 바로가기
TIL : Today I learned (or Week)

TIL 230724 : 과제리뷰 리뷰.

by 우인입니다 2023. 7. 25.

과제리뷰를 하며 대체적으로 많이들 들었던 리뷰 세가지를 꼽았다.

이는 나 또한 바로 적용가능한 부분이고,

그만큼 중요하다고 생각해서 이를 토대로 바로 리팩토링해야할 요소들이라고 생각한다.

 


 

무분별한 Setter 금지

 

Setter를 굉장히 조심히 써야한다는 말을 들었었다.

왜냐하면 Setter가 있다는 것은 이 자료가 바뀔 가능성이 있다라는 것.

데이터의 무결성을 지키기 위해 Getter, Setter를 통해 멤버 변수에 접근하지만

요즘 실무에서는 거기서 더 나아가 Setter 자체를 조심하는 분위기다.

비즈니스 로직에서 자체적으로 접근하는 방식을 더 선호한다.

 

 

@NoArgsConstructor 신중히

 

비어있는 객체를 만들 수 있는 생성자를 명시한다는 의미이다.

무분별하게 만든다면 비어있는 객체가 생성되고 이는 객체들의 데이터의 일관성을 해칠 수 있다.

 

팔로잉유저가 팔로우하는 팔로워 유저 이 두 유저를 담을 중간테이블 역할의 엔티티로 만든 Follow 클래스이다.

이 경우에 두 유저가 무조건 들어있어야 하는데 위처럼 @NoArgsConstructor가 포함되어 있었다.

비어있는 follow객체를 생성할 위험이 있기에 이는 제거해 주는 것이 더 좋다고 본다.

 

 

 

Build가 있다면 적극 활용하자

 

HttpEntity나 여타 다른 클래스들에 builder를 제공하는 경우가 종종있다.

우선, 빌더를 제공하는 지 확인하고 인지해두고 이를 잘 활용하는 것이 기본적인 생성자를 통한 객체 생성보다

더욱 안정성을 가져간다고 한다.

이는 새로운 기술의 개념이라기보단 디테일이라고 생각한다. builder를 사용하지 않더라도 구현에는 문제가 없던 기존 프로젝트에 이를 활용한다면 이후의 안정성을 더 추가할 수 있으니 말이다.

 

 


지난 주에 느꼈던, 많을 것 같지만 뭔지 감이 오질 않는 나의 빈틈들이 몇몇 느껴졌다.
이제 슬슬 지금껏 배웠던 기술들을 통해서 나만의 사이트를 만들며 연습해나가고,
이를 통해 튜터님들에게 코드리뷰를 받고 빈틈을 채워 나가봐야겠다.