URL-CHOP / Chop-Api

🔪App Server for URL shortener
https://www.nexters.me/
6 stars 1 forks source link

[리팩토링] 메인 기능 효율성문제 #32

Closed JunHoPark93 closed 5 years ago

JunHoPark93 commented 5 years ago

Origin Url을 줄이는 과정에서 1) 이미 존재한다면 그것을 리턴 2) 존재하지 않는다면 새 Url 객체를 만들어 저장 후 리턴

@Transactional
    public Url save(UrlRequestDto dto) {
        int hashNumber = findMaxIdFromDatabase();
        String originUrl = dto.getOriginUrl();

        Url maybeUrl = shortenRepository.findUrlByOriginUrl(originUrl);

        if (maybeUrl != null) {
            return maybeUrl;
        }

        Url url = Url.builder()
                .originUrl(originUrl)
                .shortUrl(base62Encode(hashNumber))
                .build();

        return shortenRepository.save(url);
    }

이미 존재한다면 findMaxIdFromDatabase()호출할 필요도 없음. 함수를 분리해야 함

aj1155 commented 5 years ago

그쵸 그래서 코딩할때 뭔가를 호출 할때는 사용하기 직전에 하는 것이 좋아요, 가독성도 올라가고