使用 App 首字母缩写词为所有类/接口/函数添加前缀是一种好习惯吗?
Posted
技术标签:
【中文标题】使用 App 首字母缩写词为所有类/接口/函数添加前缀是一种好习惯吗?【英文标题】:Is good practice to prefix ALL classes/interfaces/functions with the App acronym? 【发布时间】:2020-02-02 14:41:33 【问题描述】:我在一个 Angular 项目中工作,我想知道用 App 首字母缩写词前缀所有类、接口和函数是否是一种好习惯。。 p>
例如,很好的标准化给标签组件加上App缩写前缀,这样就不会与dom中的其他项目发生冲突,也更容易搜索。
例如,如果我的应用首字母缩写词是 toh(英雄之旅),并且我有一个过滤器组件,那么它的标签将是 <toh-filter>
。
这完全没问题,但是将其应用于 ALL 代码库是一个好习惯吗? 对于所有代码库,我的意思是:所有类、接口和导出的函数和常量。
我想了解 优点和缺点 以及为什么它可能有意义。
注意,此应用程序不会被其他应用程序作为库使用。所有组件、服务、实用程序都将在同一应用程序内部使用。
这里有一些例子(不带前缀&带前缀):
// ./filter.component.ts
@Component() export class FilterComponent
@Component() export class TohFilterComponent
// ./some.service.ts
export class SomeService
export class TohSomeService
// ./utils.ts
export function deepCopy()
export function tohDeepCopy()
export function pipe()
export function tohPipe()
提前致谢!
【问题讨论】:
为什么到处添加无意义的冗余文本是个好习惯?deepCopy
和tohDeepCopy
有区别吗?如果是这样,一个不同的名字是有意义的。但是无缘无故添加前缀不会。
@Flimzy 题外话,我同意,这应该在另一个堆栈交换上。自以为是,框架很好,所以你可以相应地回答。很明显,也许对你和我来说,但显然不是对他来说,因此他可以要求它了解为什么不需要它的理由。还有don't forget that !
@Flimzy 你认为显而易见的事情并不适合其他人。我只是想找到足够的论据来证明这种方法是不好的。我已经加入了一个像这样制作的整个代码库,我想改变它……但要说服其他人这是好方法并不容易。我需要强有力的论据
【参考方案1】:
我会说不。
当您编写拆分为多个文件的 TS/JS 代码时,您可以选择从何处导入您的类,甚至可以重命名它们。
因此您可以自行管理冲突,而无需添加前缀。
您可能已经看到,Angular 会为您的类附加一个后缀:这是因为它们的 LIFT 风格要求是文件/类/var/etc。应该很快被发现和识别。
但是对于前缀,它不是必需的,主要的缺点是你必须在你编写的每个类上手动完成,而它没有任何优点。
所以总结一下,不,你不应该。
【讨论】:
以上是关于使用 App 首字母缩写词为所有类/接口/函数添加前缀是一种好习惯吗?的主要内容,如果未能解决你的问题,请参考以下文章