遵循良好习惯和最佳实践,C#代码约定之命名、布局和注释约定「建议收藏」

遵循良好习惯和最佳实践,C#代码约定之命名、布局和注释约定「建议收藏」遵循良好的广泛接受的编码约定,能够让代码拥有一致的风格,更容易阅读和理解,特别是在团队协作中尤为重要。以下是微软官方推荐的 C# 编码约定。命名

大家好,欢迎来到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

(0)
上一篇 2022-12-20 19:40
下一篇 2022-12-20 20:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信