命名规范(或者说命名约定)在编写代码中起到很重要的作用,虽然不遵循命名规范,程序也可以运行,但是使用命名规范可以很直观地了解代码所代表的含义。
编写 C# 代码时需要考虑几个命名约定。
---------------
帕斯卡拼写法
命名 class、record 或 struct 时,使用 pascal 大小写(“PascalCasing”)。
例如:
public class HovertreeMail
{
}
命名 interface 时,使用 pascal 大小写并在名称前面加上前缀 I。 这可以清楚地向使用者表明这是 interface。
例如:
public interface IFileTool
{
}
命名类型的 public 成员(例如字段、属性、事件、方法和本地函数)时,请使用 pascal 大小写。
例如:
public class ExampleEvents
{
// A public field, these should be used sparingly
public bool IsValid;
// An init-only property
public IWorkerQueue WorkerQueue { get; init; }
// An event
public event Action EventProcessing;
// Method
public void StartEventProcessing()
{
// Local function
static int CountQueueItems() => WorkerQueue.Count;
// ...
}
}
---------------------
驼峰式大小写
命名 private 或 internal 字段时,使用驼峰式大小写(“camelCasing”),并且它们以 _ 作为前缀。(何问起发布的代码,有时也会以h_作为前缀)
例如:
public class DataService
{
private IWorkerQueue _workerQueue;
}
在支持语句完成的 IDE 中编辑遵循这些命名约定的 C# 代码时,键入 _ 将显示所有对象范围的成员。
使用为 private 或 internal 的static 字段时 请使用 s_ 前缀,对于线程静态,请使用 t_。
public class DataService
{
private static IWorkerQueue s_workerQueue;
[ThreadStatic]
private static TimeSpan t_timeSpan;
}
编写方法参数时,请使用驼峰式大小写。
public T SomeMethod<T>(int someNumber, bool isValid)
{
}
-----------------
布局约定
好的布局利用格式设置来强调代码的结构并使代码更便于阅读。
使用默认的代码编辑器设置(智能缩进、4 字符缩进、制表符保存为空格)
每行只写一条语句。
每行只写一个声明。
如果连续行未自动缩进,请将它们缩进一个制表符位(四个空格)。
在方法定义与属性定义之间添加至少一个空白行。
----------------
注释约定
将注释放在单独的行上,而非代码行的末尾。
以大写字母开始注释文本。
以句点结束注释文本。
在注释分隔符 (//) 与注释文本之间插入一个空格,如下面的示例所示。
// The following declaration creates a query. It does not run
// the query.
请勿在注释周围创建格式化的星号块。
请确保所有公共成员都有必要的 XML 注释,从而提供有关其行为的适当说明。
以上供参考。