dev*_*xer 1 c# naming-conventions
public class Fruit
{
// choose one
public int Id { get; set; }
public int FruitId get; set; } // redundant or usefully more descriptive?
// choose one
public string Name { get; set; }
public string FruitName { get; set;} // redundant or usefully more descriptive?
public string Fruit { get; set; } // or what about this?
}
Run Code Online (Sandbox Code Playgroud)
这是水果的识别号码和名称的首选约定?为什么?还有其他例子,您会以不同的方式回答吗?
public class Fruit
{
public int Id { get; set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我知道这些属性是Fruit的属性,为什么要重复这个名字呢?SomethingId对我来说是外国的关键财产.
通常,属性名称应以其自身命名,而不是类.
五种情况,其中类名可能在类的成员上用作前缀或后缀:
所需的属性名称是您所用语言的保留字.例如,FruitType而不是Type.在大多数情况下,最好将属性命名为其他内容.
该类充当工厂并返回其自身的实例.例如,如果Fruit有一个名为"GetFruitById"的静态方法,它返回一个水果.在这种情况下,您可能最好为该方法使用单独的FruitFactory类.
类包含其自身类型的其他东西.在你的例子中,也许,如果Fruit是一个显示水果进化链接的图表,每个Fruit实例都可以包含一个名为"DescendantFruitList"的水果列表.有可能,你可以放弃"水果"这个词,它仍然是完全描述性的.
域模型中类的名称与常用编程命名约定中使用的单词匹配.示例:表示文字(真实世界)工厂,列表,字典等的对象,并且还需要在编程中对相关类使用相同的单词.
与O/R映射到数据库的兼容性或外部接口的实现,其成员恰好具有相同的单词.例如,如果Fruit实现了现有的IFruitStandProduct接口.在这种情况下,您不负责命名的巧合.
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |