강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của annjae4676
annjae4676

câu hỏi đã được viết

Tái cấu trúc đã học thông qua mã hóa

Tái cấu trúc 4. Hàm trích xuất

함수 추출하기 부분에서 의도와 구현에 대해 질문 있습니다.

Đã giải quyết

Viết

·

192

0

의도와 구현이 잘 이해가 가지 않아 예전에 작성 했던 코드를 가져와 아래와 같이 이해를 해볼려고 했는데 맞게 이해를 한건지 궁금합니다.

 

save라는 네이밍으로 저장한다는 의미를 뜻함 -> 의도

코드 내부에는 DTO를 받아와 엔티티 객체로 변환하고 DB에 저장 로직 -> 구현

save 메서드

@Override
public ServerMessageDto save(ServerMessageCreateRequest createRequest) {
    ServerMessage serverMessage = ServerMessage.builder()
            .serverId(createRequest.getServerId())
            .channelId(createRequest.getChannelId())
            .userId(createRequest.getUserId())
            .parentId(createRequest.getParentId())
            .profileImage(createRequest.getProfileImage())
            .content(createRequest.getContent())
            .writer(createRequest.getWriter())
            .chatType(ChatType.SERVER)
            .actionType(ActionType.SEND)
            .files(createRequest.getFiles())
            .build();

    serverMessage.generateSequence(sequenceGenerator.generateSequence(ServerMessage.SEQUENCE_NAME));

    return ServerMessageDto.from(messageRepository.save(serverMessage));
}

postSend 라는 네이밍으로 ~ 후의 전송이라는 의미 -> 의도

코드 내부에는 특정 조건에 따라 함수 호출 로직 -> 구현

postSend 메서드

@Override
public void postSend(Message<?> message, MessageChannel channel, boolean sent) {
    StompHeaderAccessor headerAccessor = StompHeaderAccessor.wrap(message);

    if (StompCommand.CONNECT.equals(headerAccessor.getCommand())) {
        Long userId = sendConnectionStateInfo(headerAccessor);
        sendConnectionStateEvent(userId);
    }

    if (StompCommand.DISCONNECT.equals(headerAccessor.getCommand())) {
        Long userId = saveDisconnectionState(headerAccessor);
        if (userId != null) {
            sendDisConnectionStateEvent(userId);
        }
    }
}

 

javaintellij-idea리팩토링

Câu trả lời 1

0

whiteship님의 프로필 이미지
whiteship
Người chia sẻ kiến thức

첫번째 메서드는 직관적으로 의도가 이해되는 이름인거 같은데요. 두번째는 잘 모르겠습니다. 내용을 보면 message에 따라 Connect 또는 Disconnect 이벤트를 보내는것 같은데 postSend 라는 이름이 좀 모호하네요.

Hình ảnh hồ sơ của annjae4676
annjae4676

câu hỏi đã được viết

Đặt câu hỏi