Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public PostProjectStep.Response postProjectStep(Project project, PostProjectStep
throw new BusinessException(ErrorCode.PROJECT_STEP_MAX_SIZE);
}

Integer order = getStepOrder(orderList, requestDto.getStepOrderNumber());
Integer order = getStepOrder(orderList, requestDto.getStepOrderNumber() - 1);

return stepStore.store(requestDto, project, order);
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

코드 리뷰에 대해 몇 가지 피드백을 드리겠습니다.

  1. 버그 리스크:

    • requestDto.getStepOrderNumber() - 1 변경으로 인해 stepOrderNumber가 0일 경우 getStepOrder 메서드는 -1을 사용하는데, 이 경우 인덱스 범위를 초과할 수 있습니다. orderList의 크기에 따라 NullPointerException이나 ArrayIndexOutOfBoundsException이 발생할 수 있습니다.
  2. 유효성 검사:

    • requestDto.getStepOrderNumber()가 0보다 작은 경우에 대한 유효성 검사가 필요합니다. 이를 통해 예외 상황을 방지할 수 있습니다.
    • 예를 들어:
      Integer stepOrderNumber = requestDto.getStepOrderNumber();
      if (stepOrderNumber <= 0) {
          throw new BusinessException(ErrorCode.INVALID_STEP_ORDER);
      }
  3. 주석:

    • 이러한 수정 사항에 대해 주석을 추가하여 코드의 가독성을 높이는 것이 좋습니다. 변경한 이유와 목적을 명확히 하여 추후 유지보수 시 혼동을 줄일 수 있습니다.
  4. 메서드 이름:

    • getStepOrder 메서드의 구현이 어떻게 되어 있는지에 따라 몇 가지 개선이 가능합니다. 만약 메서드가 특정 인덱스에 대한 기본값을 리턴한다면 해당 기능이 명확하게 드러나도록 메서드 이름을 변경하는 것도 고려해볼 수 있습니다.
  5. 예외 처리:

    • 오류 코드 세트에 ErrorCode.INVALID_STEP_ORDER와 같은 새로운 예외 처리를 추가하면 사용자가 문제를 더 쉽게 이해할 수 있도록 도와줄 수 있습니다.

이와 같은 점들을 고려하여 코드를 수정하면 더욱 안정적이고 가독성 높은 코드를 생성할 수 있을 것입니다.

Expand Down
Loading