-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
전남대_11조_골라주마_9주차 #162
전남대_11조_골라주마_9주차 #162
Conversation
아래 PR 도 추가하겠습니다..! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
코드에 대해 고민을 많이 한 부분이 느껴지네요!
테스트코드도 꼼꼼하게 잘 구현하셨습니다! 👍
코멘트 관련하여 궁금한 점이 있으면 말씀해주세요!
.orElseThrow(() -> new NullPointerException("유저 정보가 존재하지 않습니다.")); | ||
} | ||
|
||
protected int countCreatedVote(Long userId) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
접근제한자가 protected
인 이유가 있을까요?
return voteRepository.findAllParticipateListByUserId(userId).size(); | ||
} | ||
|
||
protected UserProfileResponse userProfileConverter( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UserProfileResponse 에서 생성자나 메소드를 통해 처리하는것은 어떨까요?
코드의 재사용성도 좋아질꺼 같습니다.
return new CreateCommentResponse(commentEntity, true, username); | ||
} | ||
|
||
private String getUsername(Long userId) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반복되는 로직은 따로 추출하여 Service로 추출해도 좋을꺼 같습니다.
UpdateCommentRequest requestDto, Long commentId, Long userId) { | ||
|
||
// 1. 존재하는 댓글인지 확인 | ||
CommentEntity commentEntity = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1,2 번 로직이 여러곳에서 똑같이 사용되는데 서비스로 추출하는 방법등을 활용하여 중복을 줄여 보면 좋을꺼 같습니다.
// entity list >> dto list | ||
List<VoteDto> voteDtoList = voteDtoConverter(voteEntitySlice, userId); | ||
// 마지막 페이지인지 검사 | ||
boolean isLast = true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당 부분은 로직 처리가 없는데 무조건 true 인 것일까요?
@@ -56,23 +56,23 @@ public GetVoteListResponse.MainAndFinishPage getVoteList( | |||
return new GetVoteListResponse.MainAndFinishPage(votes, isLast); | |||
} | |||
|
|||
private Slice<VoteEntity> getVoteListByRequest(String active, String category, String sort) { | |||
private Slice<VoteEntity> getVoteListByRequest(Active active, Category category, Sort sort) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ENUM 처리 👍
return OptionEntity.builder() | ||
.voteId(voteId) | ||
.optionName(request.getName()) | ||
.optionImage(request.getImage()) | ||
.optionImage(null) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
필수로 null이어야 하는 이유가 없다면 값이 없는 경우는 셋팅을 아예 하지 않는 것도 방법입니다.
public class ImageUploader { | ||
|
||
private static final String SYSTEM_PATH = System.getProperty("user.dir"); | ||
private static final String UPLOAD_PATH = "/src/main/java/com/kakao/golajuma/vote/infra/images/"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yml에 설정후 @value 를 사용해서 작업해도 좋을꺼 같습니다.
고정적인 값 또는 환경마다 path가 다를수 있는 경우 설정에 값을 선언후 불러와서 사용하기도 합니다.
byte[] decodedBytes = decoder.decode(base64.getBytes()); | ||
FileOutputStream fileOutputStream = new FileOutputStream(file); | ||
fileOutputStream.write(decodedBytes); | ||
fileOutputStream.close(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
close()는 무조건 실행해야 하기 때문에 finally 안에 선언하는 것이 좋습니다.
Try-with-resources
를 사용하는것도 방법입니다.
getVoteListService.getVoteList( | ||
userId, | ||
page, | ||
getVoteListRequestConverter.toSort(sort), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1개씩 convert 를 해주기보다는
RequestParam에 ENUM을 선언하여 활용하는 것이 좋습니다.
어떤 내용에 대한 PR인가요?
전남대_11조_골라주마_9주차 개발 진행하였습니다! 이번 주차는 오류 해결과 테스트코드를 추가하고 리팩토링을 위주로 진행했습니다. 작업 내역은 다음과 같습니다
작업 내역
구현
리팩토링
9주차 작업 완료 PR
[FIX] test 코드 bug 모두 수정 #159
[Test] 투표 마감 서비스 테스트 코드 추가 #157
[FEAT] 닉네임, 이메일 업데이트 구현 #156
[chore ] long, int 타입 변경 #155
[FIX] option count 에러 문제 해결 #153
[Fix] 완료된 투표 조회 오류 해결 #151
[FIX] mypage url 수정 #150
[FIX] 이미지 데이터 default >> null 변경 #149
[REFACTOR] comment test 추가 + 작은 리팩토링 #145
[Refactor] 이미지 조회시 인코딩된 이미지 형식 추가 #143
[Refactor] fe 요청에 따른 이미지 조회 주소값 응답 #142
[Refactor] 이미지 조회 확장자명 설정 #141
[Refactor] 이미지 업로드 경로 변경 및 인코딩 코드 추가 #140
[FIX] 투표 취소 시 에러 null 오류 해결 #139
[Refactor] 이미지 처리 수정 #136
[Feat] 이미지 처리 기능 구현 #134
[REFACTOR] hot게시판 수정 및 테스트 추가 #133
[REFACTOR] mypage 추가 + api, service테스트 #132
[Refactor] 참여한 투표 리스트 조회 쿼리 추가 #131
[Refactor] 투표 리스트 조회 컨트롤러 enum 타입 변환 추가 #129
[FIX] local환경에서 데이터베이스가 설정돼있지 않던 문제 해결, dev환경변수 문제 해결 #127
무엇을 위주로 보면 좋을까요?
추가중