大家好,欢迎来到IT知识分享网。
遵循良好的广泛接受的编码约定,能够让代码拥有一致的风格,更容易阅读和理解,特别是在团队协作中尤为重要。以下是微软官方推荐的 C# 编码约定。
命名约定
PascalCase
即所有单词的首字母大写,然后直接连接起来,单词之间没有连接符。
在定义 类、结构体、记录时使用 PascalCase 命名法。
public class DataService
{
}
public record Address(
string Street,
string City,
string StateOrProvince,
string ZipCode);
public struct Point
{
}
IT知识分享网
接口也应使用 PascalCase命名法,但首字母以大写 I 标识。
IT知识分享网 public interface ITask
{
}
公共成员,如字段、属性、方法、事件、局部函数等也应使用 PascalCase 命名法。Record 中的位置参数实际上是公共属性,因此也应使用 PascalCase 命名法。
public class ExampleEvents
{
// 公共字段。
public bool IsValid;
// 公共属性。
public IWorkerQueue WorkerQueue { get; init; }
// 公共事件。
public event Action EventProcessing;
// 公共方法。
public void StartEventProcessing()
{
// 局部函数。
static int CountQueueItems() => WorkerQueue.Count;
// ...
}
}
// 位置参数实际上是公共属性,
// 因此 Street,City 等也应使用 PascalCase 命名法。
public record PhysicalAddress(
string Street,
string City,
string StateOrProvince,
string ZipCode);
camelCase
即第一个词的首字母小写,后面每个词的首字母大写,字母之间无连接符。
方法的参数使用 camelCase 命名法。
私有或者内部元素使用 camelCase 命名法,并添加下划线前缀。
IT知识分享网 public class DataService
{
private IWorkerQueue _workerQueue;
public T SomeMethod<T>(int someNumber, bool isValid)
{
}
}
如果是静态的,添加 s_ 前缀。
public class DataService
{
private static IWorkerQueue s_workerQueue;
}
布局约定
- 使用默认的代码编辑器设置(智能缩进、4 字符缩进、制表符保存为空格)
- 每行只写一条语句。
- 每行只写一个声明。
- 如果连续行没有自动缩进,手动缩进一个制表位(4个空格)。
- 在方法和属性定义之间至少添加一个空行。
- 使用括号突出表达式中的子句,如下例所示。
if ((val1 > val2) && (val1 > val3))
{
// Take appropriate action.
}
注释约定
- 注释放在单独的行上,不要放在行末。
- 如果是英文注释,应以大写字母开始。
- 注释结尾应该加上句号。
- 注释分隔符 // 与注释之间添加一个空格。
- 公共成员必须有XML 注释,对作用和行为作出适当的描述。
- 不要在注释周围添加格式化字符,比如。
// ********** 注释 ***************
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/6756.html