-
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 - 한 줄 광고 신청 로직 분리