ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2019-10-17 개발일지
    개발일지 2019. 10. 17. 18:42

    # 오늘의 TODO

    • 한 줄 광고 신청 로직 분리
      • 입력받은 값에 대한 검증 로직 분리
    • 한 줄 광고 내용 수정 기능 개발

     


     

    # 한 줄 광고 신청 로직 분리 개발 진행 내용

    1. 개발 목적

    한 줄 광고 신청 로직의 데이터 검증 중 텍스트 컬러 설정 데이터와 광고 진행 기간 설정 데이터를 검증하는 로직이 있었다.

    해당 로직을 추후 추가되는 기능이나 기능의 변경으로 인한 유지보수를 위해 공통으로 사용할 수 있게 따로 함수로 빼내는게 목적이다.

     

    2. 개발 내용

    기존의 로직은 다음과 같이 하나의 API 로직에 처리되어 있었다.

    export async function add() {
        const { colorValue, useDate } = req.params;
    
        const colorValueList: Array<number> = [1, 2, 3, 4, 5];
        const useDateList: Array<number> = [1, 5, 7, 10, 15];
    
        if (
            colorValueList.includes(Number.parseInt(colorValue)) === false || 
            useDateList.includes(Number.parseInt(useDate)) === false
        ) {
            throw new CustomError();
        }
    
        ...
    
    }

     

     

    이를 다음과 같이 함수 단위로 나누어 처리하도록 변경했다

    export async function add() {
        const { colorValue, useDate } = req.params;
    
        if (
            verifyColor(Number.parseInt(colorValue)) === false || 
            verifyUseDate(Number.parseInt(useDate)) === false
        ) {
            throw new CustomError();
        }
    
        ...
    
    }
    
    function verifyColor(value: number) {
        if (!value) {
            return false;
        }
        
        const colorValueList: Array<number> = [1, 2, 3, 4, 5];
        
        return colorValueList.includes(colorValue);
    }
    
    function verifyUseDate(value: number) {
        if (!value) {
            return false;
        }
        
        const useDateList: Array<number> = [1, 5, 7, 10, 15];
        
        return useDateList.includes(useDate);
    }

     

    # 한 줄 광고 신청 로직 분리 개발 후

    1. 잘.했.다!

    ^ㅡ^ ㅋㅋㅋ

    사실 상황에 따라서 두개로 나눈 함수를 하나로 합쳐서 분기처리에 따라 처리되도록 할 수도 있지만 가독성 측면에서 그냥 두개의 단위로 나누는게 낫다고 판단했다.

     


     

    # 한 줄 광고 내용 수정 기능 개발 진행 내용

    1. 개발 목적

    사용자가 신청한 한 줄 광고의 내용을 수정하는 서비스를 제공해야 한다.

     

    2. 개발 내용

    사용자가 신청한 한 줄 광고여야만 한다.

    그런데 여기서도 제약사항이 있는데, 관리자가 승인이나 반려를 하지 않거나 이미 광고 기간이 끝난 광고인 경우 수정을 제한한다.

     

    즉, 광고 승인 대기중인 아이템만 수정할 수 있도록 했다.

     


     

    '개발일지' 카테고리의 다른 글

    2019-10-22 개발일지  (0) 2019.10.22
    2019-10-18 개발일지  (0) 2019.10.18
    2019-10-16 개발일지  (0) 2019.10.16
    2019-10-15 개발일지  (0) 2019.10.15
    2019-10-14 개발일지  (0) 2019.10.14
Designed by Tistory.