我应该使用@typescript-eslint/explicit-function-return-type eslint 的规则吗?
Should I use @typescript-eslint/explicit-function-return-type eslint's rule?
我已经开始从事一个启用了这个 eslint 规则的项目 (@typescript-eslint/explicit-function-return-type),我想知道它提供了什么价值?
根据我个人的经验,我觉得这条规则并没有提供太多价值,而且在 99% 的情况下都会添加样板。我认为禁用它并仅在无法推断类型时指定类型将是更好的方法。想过这个吗?
我也认为这是多余的。但前提是你使用 --noImplicitAny
。我们都知道在 TypeScript 中使用 any
是一种犯罪行为,对吧? (开玩笑)
因此,由于 TypeScript 不允许隐式 any
s,所有内容都是明智的类型(除非您明确指定 any
,因此添加 es-lint no-explicit-any
以避免监狱时间),TypeScript 将确保所有函数 returns 都被正确输入并相应地使用。
这样我们在必须更改函数签名时获得了更大的灵活性。想象在所有项目中将 id: number
更改为 id: string
?因此,为了更灵活,您还可以使用 id: Entity["id"]
- 编写时间更长但永不中断。
我已经开始从事一个启用了这个 eslint 规则的项目 (@typescript-eslint/explicit-function-return-type),我想知道它提供了什么价值?
根据我个人的经验,我觉得这条规则并没有提供太多价值,而且在 99% 的情况下都会添加样板。我认为禁用它并仅在无法推断类型时指定类型将是更好的方法。想过这个吗?
我也认为这是多余的。但前提是你使用 --noImplicitAny
。我们都知道在 TypeScript 中使用 any
是一种犯罪行为,对吧? (开玩笑)
因此,由于 TypeScript 不允许隐式 any
s,所有内容都是明智的类型(除非您明确指定 any
,因此添加 es-lint no-explicit-any
以避免监狱时间),TypeScript 将确保所有函数 returns 都被正确输入并相应地使用。
这样我们在必须更改函数签名时获得了更大的灵活性。想象在所有项目中将 id: number
更改为 id: string
?因此,为了更灵活,您还可以使用 id: Entity["id"]
- 编写时间更长但永不中断。