
원티드 프리온보딩과 컬리 해커톤이 끝나고, 지난 프리온보딩 팀프로젝트들의 깨작깨작 리팩토링을 진행 중이다. 네이밍에 대한 여러 글도 찾아 보고 프로젝트들을 통해 습득한 내용들을 바탕으로 지난 프로젝트를 바라보니 새롭게 보이는 부분들이 많았다. 그 중 경악(?) 할만 한 변수, 함수명들을 여럿 발견하게 되는데...
일단 포스팅에 들어가기에 앞서 배경 설명을 하자면
References
원티드 프리온보딩 : engall 기업과제
먼저 정리를 진행한 부분

submitTime 함수는 수업 시작 시간과 끝나는 시간을 설정하는 로직을 갖고있다.import { add, format } from "date-fns";
export const submitTime = (time: Date, meridiem: string) => {
const startAddTime = add(time, {
hours: meridiem === "pm" ? 12 : 0,
});
const endAddTime = add(time, {
hours: meridiem === "pm" ? 12 : 0,
minutes: 40,
});
const startTime = format(startAddTime, "HH:mm");
const endTime = format(endAddTime, "HH:mm");
return { startTime, endTime };
};
import { add, format } from 'date-fns';
export const setTime = (time: Date, meridiem: string) => {
const setStartTime = add(time, {
hours: meridiem === 'pm' ? 12 : 0,
});
const setEndTime = add(time, {
hours: meridiem === 'pm' ? 12 : 0,
minutes: 40,
});
const startTime = format(setStartTime, 'HH:mm');
const endTime = format(setEndTime, 'HH:mm');
return { startTime, endTime };
};
interface Applicant {
id: string;
...
phone: string | number;
email: string;
isChecked: boolean;
}
type ApplicantList = Applicant[];
type Applicants = Applicant[];
getCitys 가 useCityModel 로 한번 더 감싸져 있는 것이 불필요해 보인다.import { dateFormatSetting } from "../utils/utils";
import { useState } from "react";
import { apiRequest } from "../instance/instance";
export const useCitysModel = () => {
const getCitys = async () => {
const response: void | any = await apiRequest.get("/city");
return response;
};
return {
getCitys,
};
};
import { apiRequest } from '../instance/instance';
export const getRegions = async () => {
const response: void | any = await apiRequest.get('/regions');
return response;
};
postUsers 가 useUsersModel 로 한번 더 감싸져 있는 것이 불필요해 보인다.import { useState } from "react";
import { apiRequest } from "../instance/instance";
export const useUsersModel = () => {
const postUsers = async (data: any) => {
const response: void | any = await apiRequest.post("/users", data);
return response;
};
return {
postUsers,
};
};
import { apiRequest } from '../instance/instance';
export const createApplicant = async (data: any) => {
const response: void | any = await apiRequest.post('/users', data);
return response;
};
⚡️ 포스팅 작성 진행 중, 내용 추가 예정