角度类的文件类型命名约定

时间:2017-07-06 19:50:59

标签: angular

Angular的Style Guide列出了常见文件类型的命名约定,例如heroes.component.tsheroes.service.ts等。但是那些没有装饰器符号的类呢?例如,Heroes教程创建了一个Hero类:

export class Hero {
  id: number;
  name: string;
}

然后它将此文件命名为hero.ts。这样的命名约定似乎在app目录中容易出现混乱。创建名为classes的文件夹(在app目录中)似乎合乎逻辑,然后为每个文件添加class.ts后缀,例如hero.class.ts

但是,我没有看到有人使用这个约定。我看到人们使用model.ts后缀,但目前还不清楚这是否是最佳做法,并且在Angular Style Guide中没有提及。

有人能说清楚这个话题吗?对不起,如果我错过了什么。谢谢你提前。

2 个答案:

答案 0 :(得分:5)

Angular Style Guide明确表示将.model用于简单模型。但是,你应该考虑两件事:

  • enums没有约定。我个人将它们保存在servicemodel文件中,具体取决于它应该如何使用
  • 指南允许创建其他entities,因此在项目范围内 - 您可以添加其他“类型”(recource,config)
  • 如果跨应用程序使用类/模型/接口(例如User),指南建议将其保留在shared模块中,这在逻辑上是正确的:SharedModule应该是导入的多次,而CoreModule - 只有一次(在AppModule

答案 1 :(得分:0)

在应用程序中有两种创建包(文件夹)的方法:

  • 逐层打包
  • 按功能打包

Angular更喜欢"按功能打包"这就是为什么英雄级别仍然属于它所属的英雄组成部分的原因。关于为什么"按功能打包的好帖子"首选方式是here

对于用于多个组件的类/服务 - Angular StyleGuide建议使用核心包。如果它是一个共享的组件 - 那么是一个共享包。