C#开发规范一(语言准则)
稀里糊涂写了三年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