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;