🗳️Code Style

유틸리티 타입은 대개 제네릭 타입으로 이루어져 있으며, 코드 이해를 돕기 위해 JSDoc태그(@description, @example 등)를 적극 활용하여 작성해주세요.

제네릭 규약

제네릭 관습에 따라서 일반적으로 대문자 한 글자를 사용하여 제네릭 타입을 정의합니다. T는 많이 사용되는 예이지만, 필요에 따라 U, V, E와 같은 다른 대문자도 사용할 수 있습니다. 이러한 관습은 코드의 가독성을 향상시키고 제네릭의 의도를 명확하게 전달하는데 도움을 줍니다.

복잡한 타입인 경우에는 직접적으로 명시하는 것이 더 좋을 수도 있습니다. 아래의 예시를 참고해주세요.

// src/types/module/react-query/use-infinite-query-params.ts
/**
 * example : const useAnyQuery = ({ options, variables } : UseInfiniteQueryParams<typeof anyApiFn>) => {...}
 */
export type UseQueryParams<
  T extends AsyncFn,
  Error = AxiosError<any>,
  Data = AsyncFnReturn<T>,
  Variables = Parameter<T>,
> = {
  options?: Omit<UseQueryOptions<Data, Error>, 'queryKey' | 'queryFn'>;
} & WrapVariables<Variables>;

Last updated