[TIL] 2021-08-20

June·2021년 8월 20일
0

TIL

목록 보기
7/9

Facts

  • 인턴 프로젝트 중 이클립스에서 config 클래스를 못찾는 문제가 생겨서 거의 이틀을 삽질을 하다가 결국 인텔리제이로 바꾸고 해결함

  • 코드숨 코드 리뷰를 받았고, Optional을 깔끔하게 쓰는 예제를 봄

Feelings

  • 거의 이틀동안 개발을 하나도 하지 못하고 오류 잡는데 시간을 쓰면서 스트레스도 많이 받았고, 시간도 아깝다. 지나고 나서 가장 후회하는 점은 삽질을 잘못된 방식으로 한 것이다.

  • 내가 쓴 코드 5~6줄이 아주 깔끔하게 1줄로 줄여지는 것을 보고 감탄했다. Optional을 거의 처음 사용해봐서 아직 잘 쓰는 방법을 몰랐는데 덕분에 조금 더 알게 되었다.

Findings

  • 하지만 이러한 문제는 실무에서 개발을 하면서도 얼마든지 일어날 수 있다. 문제는 삽질을 하는 것 자체가 아니라 어떻게 삽질을 하는가이다. 나는 계속 maven clean / project clean/ m2 repository 삭제를 하면서 같은 시도를 했다. 한 두 번 시도해보고 되지 않으면 다른 방법을 시도했으면 훨씬 삽질 시간을 줄일 수 있었을 것이다.

  • 아래 코드로 대체 한다.

@GetMapping("/{id}")
@ResponseStatus(HttpStatus.OK)
public Task getTaskById(@PathVariable Long id) {
    Optional<Task> task = taskRepository.getTaskById(id);
    if (task.isEmpty()) {
        throw new DataNotFoundException();
    }
    return task.get();
}

vs

@GetMapping("/{id}")
@ResponseStatus(HttpStatus.OK)
public Task getTaskById(@PathVariable Long id) {
    return taskRepository.getTaskById(id).orElseThrow(DataNotFoundException::new);
}

0개의 댓글