【发布时间】:2017-06-15 00:59:40
【问题描述】:
这个问题存在争议,没有一致性,所以我想澄清一下 typescript 的类、文件名、后缀和其他命名标准。 我想知道,您在 Typescript 项目中如何命名抽象类、接口和逻辑组织代码?
可能的解决方案:
对于接口:
- 以“I”为前缀
- 以“接口”为后缀
- 根本没有添加任何东西
对于抽象类:
- 以“抽象”为前缀
- 类似“Base”的前缀
- 一无所有
C# 示例
public class User : AbstractUser, IUser
Java 和 PHP 相同
public class User extends AbstractUser implements UserInterface
在打字稿中
export class User extends AbstractUser implements UserInterface
这是在基于 C#、Java 和现代 PHP7+ 等语言的框架中使用的常规方法
Microsoft 建议添加“Interface”作为后缀,这对我来说是正确的。 https://github.com/Microsoft/TypeScript-Handbook/blob/master/pages/Interfaces.md#class-types
另一个流行的风格指南建议不要为接口添加任何前缀的后缀,对我来说违反了规则、可读性和整体看起来是错误的。 https://basarat.gitbooks.io/typescript/content/docs/styleguide/styleguide.html#interface
export class User extends AbstractUser implements User
【问题讨论】:
标签: javascript node.js oop typescript naming-conventions