typescript/adjacent-overload-signatures 스타일
작동 방식
함수 오버로드 서명이 연속적으로 위치하도록 요구합니다.
왜 문제인가요?
함수 오버로드 서명은 함수가 호출될 수 있는 여러 가지 방법을 나타내며, 경우에 따라 다른 반환 유형을 가질 수 있습니다. 인터페이스나 타입 별칭이 함수를 설명할 때 모든 오버로드 서명을 서로 옆에 둔 것이 일반적입니다. 만약 서명이 타입 내에서 다른 위치에 배치된다면, 미래의 개발자가 코드를 읽을 때 이를 놓치기 쉬워집니다.
예시
이 규칙에 위반되는 잘못된 코드 예시:
typescript
declare namespace Foo {
export function foo(s: string): void;
export function foo(n: number): void;
export function bar(): void;
export function foo(sn: string | number): void;
}
type Foo = {
foo(s: string): void;
foo(n: number): void;
bar(): void;
foo(sn: string | number): void;
};
interface Foo {
foo(s: string): void;
foo(n: number): void;
bar(): void;
foo(sn: string | number): void;
}
class Foo {
foo(s: string): void;
foo(n: number): void;
bar(): void {}
foo(sn: string | number): void {}
}
export function foo(s: string): void;
export function foo(n: number): void;
export function bar(): void;
export function foo(sn: string | number): void;사용 방법
이 규칙을 구성 파일이나 명령줄 인터페이스에서 활성화하려면 다음을 사용하세요:
json
{
"rules": {
"typescript/adjacent-overload-signatures": "error"
}
}bash
oxlint --deny typescript/adjacent-overload-signatures