![]() |
1
34
在微软,他们使用
|
![]() |
2
40
在寻找其他人对通用类文件名使用什么约定之后,才发现了这个问题。
最近我一直在使用
我借用了这个会议
Boo
的一般语法,尽管有轻微的修改(boo使用
有些开发人员似乎对文件名有恐惧症,除了字母和下划线之外,文件名中除了字母和下划线之外什么都不包含,但一旦你能克服这种恐惧,这种约定就似乎非常有效。 |
![]() |
3
9
我看到这个话题一年多前就被抛弃了,但我还是想和大家分享一下我对这个大会的看法。 首先,拥有多个名称相同但类型参数数量不同的类并不总是向后兼容的情况。当然,您不会经常看到它,但是.NET的新action类和func类就是这样设计的,我目前正在实现类似的东西。 为了清晰和可区分性,我使用以下约定,仅指定给定类型的泛型参数的数量:
这样,我的文件名保持简短,同时仍然清楚地传递类名和不同数量的类型参数,而代价是一个简单的额外点(在我的经验中,这是一个文件名中常见的操作,看起来比逗号和其他非字母数字字符要好得多,但这只是一个问题尝一尝。输入类型参数的名称(或首字母缩写)只会延长文件名,而在这个级别上,我对类型参数的实际名称并不感兴趣… |
|
4
4
如果运行的是Visual Studio 2008,则不要在常规文件名中使用grave重音。它们存在一个已知问题,导致断点失败: |
![]() |
5
1
所有新的Microsoft类都使用泛型。这个
每个文件一个类的约定是在类名之后命名文件名(无论是否为泛型)。对于我的班级,你会得到myclas.cs。对于每个新的名称空间,您都需要创建一个新文件夹。这就是Visual Studio的工作原理。 |
![]() |
6
1
怎么样:
和
过去每当我这样做时,我总是将这两种类型放在一个文件中,文件名为非泛型类型。我认为这使得事情很清楚,因为.NET没有像Java一样对每个文件的一种类型进行限制/限制。 但是如果你必须这样做,我会建议像我上面提到的那样,使用一个后缀将使文件显示在任何按字母顺序排列的列表中(解决方案资源管理器、Windows资源管理器等)。 另一个想法是:
这将允许您根据它们接受的泛型类型参数的数目来划分不同的泛型类型。这只是一个想法,尽管我仍然认为将所有类型放在一个文件中会更简单。 |
![]() |
7
1
我可能会将它们放在文件夹中,然后使用名称空间机制。您可以将其与System.Collections和System.Collections.Generic进行比较。另一方面,如果类使用泛型比不使用泛型更常见,那么最好指出那些不使用泛型的类。如果您真的想将泛型类与其他类分离的话。就我个人而言,我通常不费心去做,因为我没有真正看到从中受益。 |
![]() |
8
1
从目前的反应来看,似乎还没有达成共识。 在子命名空间(和子文件夹)中使用相同的文件名,“generics”(如system.collections.generics)是一个选项。但并不总是需要创建一个新的名称空间。 例如,在具有非泛型类的现有命名空间中,为了向后兼容而维护这些类,但用obsoleteattribute标记,最好将泛型版本保留在同一命名空间中。 我认为后缀是一种合理的方式。我采用了将类型参数用作后缀的惯例(例如:myClass用于myClass<t>,myDictionarykv用于myDictionary<k,v>。 |
![]() |
9
1
|
![]() |
10
0
我可能在项目中有两个文件夹,像gereric、nongeneric或类似的。它们仍然可以在同一个命名空间中,然后它们都可以具有相同的文件名。只是一个想法… |
![]() |
11
0
有时我也看到
EntityFrameworkCore项目(也是Microsoft的)使用
|