본문 바로가기

카테고리 없음

항해 99 5주차 - 3일

 오늘은 수요일이다. 벌써 한 주의 중간까지 왔다고 생각한다. 

 그런 이유로 오늘은 잡설을 빼고 바로 오늘 작성한 코드 중에서 느낀 게 많았던 코드를 보겠다. 

 

private Long findSize(User user) { return (long) goodRepository.findAllByUser(user).size(); }

이 코드와 

if (findSize(user) >1  && good.getUser().equals(user)) {
    //동일한 유저일 경우 취소
    good_num--;
    if (good_num < 0 ) good_num = 0;
    comment.setGood_num(good_num);
    commentRepository.save(comment);
    goodRepository.deleteAll(findGood(user));

    return ResponseEntity.status(200).body("상태코드 : " + HttpStatus.OK.value() + "메세지 : 좋아요를 취소하셨습니다.");

} else {
    //일반의 경우 좋아요 증가
    good_num++;
    comment.setGood_num(good_num);
    commentRepository.save(comment);

    return ResponseEntity.status(200).body("상태코드 : " + HttpStatus.OK.value() + "메세지 : 좋아요를 누르셨습니다.");
}

 이 코드라고 생각한다. 

 그 이유를 들자면 2가지를 들 수 있다. 처음으로 메소드를메서드를 몰라서 그냥 원시적으로 작성한 느낌, 사실 isPresent() 메서드를 사용하는 내용과 일맥상통한 느낌이지만 정확인 사용방식과 뜻을 몰랐으며 정확하게 작동하는 것이 중요하다 생각해 위와 같은 방식으로 길이를 알아내는 메서드를 만들어 수정과 삭제를 용이하게 한 것이다. 다음으로는 else의 난발을 줄여야 한다는 점이다. 이는 내가 생각하지 못한 점까지 else로 받아들일 수 있기 때문에 주의를 위해 필요하다고 생각한다. 

 

 추가적인 이유를 더하자면  DB에서 그 데이터를 지운다면 빈공간이 생겨 오히려 효율이 떨어질 수 있기 때문에 사용하지 않는 정보라는 것으로 대체하는 것이 더 좋을 수 있다는 의견을 들어 가장 기억에 남는 코드로 생각했다.