C#开发规范一(语言准则)

发布时间 2023-11-30 14:35:38作者: 被忘录

  稀里糊涂写了三年C#,没有经过系统性的学习,屎山代码呈二次方增长,决心从头学习一下,从开发规范开始,通过阅读微软官方文档,发现违背了大量的准则,觉得有必要梳理一下并遵守这些规范。代码标准对于在开发团队中维护代码可读性、一致性和协作至关重要。 遵循行业实践和既定准则的代码更易于理解、维护和扩展。

一、语言准则

(1)仅捕获可以正确处理的异常,避免捕获泛型异常。

(2)使用LINQ查询和方法进行集合操作,以提高代码可读性。

(3)将异步编程与异步和等待用于I/O绑定操作。

(4)谨慎处理死锁,适当时使用Task.ConfigureAwait。

(5)仅当读者可以从表达式推断类型时使用var。

(6)以简洁清晰的方式编写代码。

(7)避免过于复杂和费解的代码逻辑。

二、字符串数据

(1)使用字符串内插来连接短字符串。

(2)在循环中追加字符串,使用StringBuilder。

三、数组

(1)声明初始化数组时不要使用var。

(2)使用显式实例化时可以使用var。

四、委托

(1)使用Func<>和Action<>,而不是定义委托类型。

(2)使用Func<>或Action<>委托定义的签名来调用方法。

五、异常处理

(1)对大多数异常处理使用try-catch语句。

(2)通过使用using语句简化代码,如果具有try-finally语句,finally块的唯一代码是对Dispose方法的调用。

六、new运算符

使用对象实例化的简洁形式var。

七、事件处理

使用Lambda表达式定义。

八、静态成员

使用类名调用static成员。

九、注释样式

(1)使用单行注释(//)进行简要说明。

(2)避免使用多行注释(/* */)进行较长的解释。

(3)若要描述方法、类、字段和所有公共成员,使用XML注释。

(4)将注释放在单独的行上,而非代码行的末尾。

(5)在注释分隔符(//)与注释文本之间插入一个空格。

十、布局约定

(1)每行只写一条语句。

(2)每行只写一个声明。

(3)在方法定义与属性定义之间添加至少一个空白行。

文章来源于微软官方文档https://learn.microsoft.com/zh-cn/dotnet/csharp/fundamentals/coding-style/coding-conventions?source=recommendations