浅析.“.NET研究”NET开发过程中命名的数量和人称

简介:   我们都明白命名的重上海闵行企业网站制作lor:white;' href='http://www.93tj.com'>上海企业网站制作要性,如果对命名不断地关注,就需要考虑命名中的动词和名词,特别的情况是动词的人称和名词的数量。

  我们都明白命名的重上海闵行企业网站制作lor:white;' href='http://www.93tj.com'>上海企业网站制作要性,如果对命名不断地关注,就需要考虑命名中的动词和名词,特别的情况是动词的人称和名词的数量。

  在.NET Framework的Guideline中,有专门一章讨论了命名规范,包括大小写、单词的选择等,却没有涉及到人称和数量,下面来讨论一下这两方面的内容。

  名词的数量

  首先来看数量。名词的单数和复数在语义上有着明显的不同,为了提高可读性,数量需要认真地考虑。比如:

  • 属性(Property):System.Collections.Generic.DictionaryTKey, TValue中的Keys和Count是好的例子。字段与此类似;
  • 方法名中的名词:在JS中我们熟悉的getElementById和getElementsByTagName;
  • 局部变量:与属性相比,我们更可能遭遇的是局部变量。比如,用变量来表示一个人的名字,可以用string name; 如果是多个人的名字,则可以用Liststring names。

  一般地,单数表达的语义是?(0或1);复数表达的语义是*(0、1或多个)。关于名词的数量很容易理解,相关的规则也容易遵循。

  动词的人称

  下面再来考虑动词的人称。在需要考虑命名的对象中,包括命名空间、类型、各种类型成员,只有方法是动词,语义上表示一个行为。关于它的人称,来看一个.NET Framework中的例子。在  System.Collections.Generic.StackT中,有一个Contains(T item)方法,对于这样的代码:

if (theStack.Cont上海徐汇企业网站制作ains(1))
{
    // Do something.
}

  读起来像是:if the stack contains 1,比较通顺。是不是所有方法都要这样命名呢?没有。另两个方法Clear()和Push(T item)就不是如此,这个地方很上海企业网站设计与制作让人困惑。先写成代码看看:上海网站建设/p>

theStack.Push(3);
theStack.Clear();
上海徐汇企业网站设计与制作div>

  尝试像上面那样作为一个句子来读:the stack push 3; the stack clear,语法上不对,看起来也应该是第三人称。这里我也不确定为何如此,只能尝试来解释下。考察多个集合类型和其它类型后发现,所有使用第三人称的地方都是谓词函数,除了上面的Contains(T item),还有Directory.Exists(string path),不知道这是不是其中的命名规则呢?

  还要考虑注释

  一定程度上,注释也算是一种代码。一种是上海闵行企业网站设计与制作XML文档注释,在.NET Framework中,不管是对于类型还是类型成员,都使用了第三人称,这一点我们也可以遵循。其它的普通注释应该也可以遵循这个规则。

目录
相关文章
|
1月前
|
SQL 开发框架 数据可视化
企业应用开发中.NET EF常用哪种模式?
企业应用开发中.NET EF常用哪种模式?
|
2月前
|
开发框架 JavaScript 前端开发
5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
|
4月前
|
SQL 开发框架 数据可视化
企业应用开发中.NET EF常用哪种模式?
企业应用开发中.NET EF常用哪种模式?
|
4月前
|
开发框架 缓存 Cloud Native
微软发布 .NET 云原生开发框架—— .NET Aspire
微软于 2023-11-14日 发布了 .NET 8 的正式版。伴随着这个重要 .NET 版本的发布,微软也发布了一个全新的 .NET云原生开发框架 —— .NET Aspire,它提供了如下 3 个方面的能力,来帮助我们使用 .NET 开发分层、云就绪的可观测、本地与生产环境一致的分布式云原生应用程序。
195 0
|
4天前
|
开发框架 前端开发 JavaScript
采用C#.Net +JavaScript 开发的云LIS系统源码 二级医院应用案例有演示
技术架构:Asp.NET CORE 3.1 MVC + SQLserver + Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架:MVC、SQLSugar等 数 据 库:SQLserver 2012
|
29天前
|
数据安全/隐私保护 Windows
.net三层架构开发步骤
.net三层架构开发步骤
9 0
|
29天前
深入.net平台的分层开发
深入.net平台的分层开发
47 0
|
2月前
|
开发框架 前端开发 .NET
福利来袭,.NET Core开发5大案例,30w字PDF文档大放送!!!
为了便于大家查找,特将之前开发的.Net Core相关的五大案例整理成文,共计440页,32w字,免费提供给大家,文章底部有PDF下载链接。
32 1
福利来袭,.NET Core开发5大案例,30w字PDF文档大放送!!!
|
3月前
|
C#
.NET开发中合理使用对象映射库,简化和提高工作效率
.NET开发中合理使用对象映射库,简化和提高工作效率
|
3月前
|
开发框架 前端开发 JavaScript
一款基于.NET Core的快速开发框架、支持多种前端UI、内置代码生成器
一款基于.NET Core的快速开发框架、支持多种前端UI、内置代码生成器