使用 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() 

提前致谢!

【问题讨论】:

为什么到处添加无意义的冗余文本是个好习惯? deepCopytohDeepCopy 有区别吗?如果是这样,一个不同的名字是有意义的。但是无缘无故添加前缀不会。 @Flimzy 题外话,我同意,这应该在另一个堆栈交换上。自以为是,框架很好,所以你可以相应地回答。很明显,也许对你和我来说,但显然不是对他来说,因此他可以要求它了解为什么不需要它的理由。还有don't forget that ! @Flimzy 你认为显而易见的事情并不适合其他人。我只是想找到足够的论据来证明这种方法是不好的。我已经加入了一个像这样制作的整个代码库,我想改变它……但要说服其他人这是好方法并不容易。我需要强有力的论据 【参考方案1】:

我会说不。

当您编写拆分为多个文件的 TS/JS 代码时,您可以选择从何处导入您的类,甚至可以重命名它们。

因此您可以自行管理冲突,而无需添加前缀。

您可能已经看到,Angular 会为您的类附加一个后缀:这是因为它们的 LIFT 风格要求是文件/类/var/etc。应该很快被发现和识别。

但是对于前缀,它不是必需的,主要的缺点是你必须在你编写的每个类上手动完成,而它没有任何优点。

所以总结一下,不,你不应该。

【讨论】:

以上是关于使用 App 首字母缩写词为所有类/接口/函数添加前缀是一种好习惯吗?的主要内容,如果未能解决你的问题,请参考以下文章

命名规范

OBIEE Datepicker 中错误日期的首字母缩写

为啥 DB 是首字母缩写词而不是缩写词?

Android 编码规范

C# 接口命名规范

缩写词和首字母缩写词