wordpress vip解析插件,手机清理优化软件排名,如何做网站 代码,网站备案官网文章目录 C# 命名规范使用Pascal case使用Camel case方法、属性、类命名见名知义LINQ查询变量使用有意义的名称如何声明成员变量和字段正确格式化和缩进代码如何撰写备注 通用C#编码最佳实践如何将值与空字符串进行比较使用异常处理使用和||可获得更好的性能单一职责… 文章目录 C# 命名规范使用Pascal case使用Camel case方法、属性、类命名见名知义LINQ查询变量使用有意义的名称如何声明成员变量和字段正确格式化和缩进代码如何撰写备注 通用C#编码最佳实践如何将值与空字符串进行比较使用异常处理使用和||可获得更好的性能单一职责使用枚举表示离散值如何将字符串变量与用户输入进行比较 原文 C# 命名规范
使用Pascal case
在命名类、结构、方法、属性或常量字段时通常首选Pascal大小写
namespace ExampleApp
{class ClassNamingConvention{public const string ConstantFieldNamingConvention C#;public string PropertiesNamingConvention { get; set; }public void MethodNamingConvention(){//type something here}}
}命名接口时它通常以大写字母I作为前缀。命名接口时也可以使用Pascal大小写。
public interface IInterfaceNamingConvention
{//type something here
}使用Camel case
驼峰用于命名方法参数、私有字段和局部变量。私有字段通常以_作为前缀。
private string _fieldsNamingConvention;public void MethodNamingConvention(string methodArgsNamingConvention)
{string localVariables string here ...;
}方法、属性、类命名见名知义
始终为类、方法和属性使用有意义且不言自明的名称。用它们的作用来命名属性、方法和类是一种很好的做法。这样只需阅读名称你就可以很容易地知道它的确切作用。
class AppNotification{private string _appStatus;public string AppStatus{get { return _appStatus; }set { _appStatus value; }}public static void SendNotification(){//type something here . . .}}LINQ查询变量使用有意义的名称
始终为LINQ查询变量使用有意义且不言自明的名称如下例所示。
public void QueryRacers()
{var racersInItaly from racer in racerswhere racer.City Lazioselect racer.Name;
}C# Code Layouts and Comments
如何声明成员变量和字段
始终在类的顶部声明所有成员变量和字段。当在类的顶部声明字段时很容易看到类正在使用的所有变量并理解类的整体状态。
在C#中在类的顶部声明字段也很重要因为它使代码更有组织性和可读性特别是在处理大型类或与团队合作时。这使得其他人更容易理解代码并进行更改。
class Car
{private int _carSpeed;public int CarSpeed{get { return _carSpeed; }set { _carSpeed value; }}public static void GetMaxSpeed(){//...}public static void GetMaxAcceleration(){//...}
}正确格式化和缩进代码
当涉及到代码布局时为了可读性和清晰的代码组织格式化和正确缩进代码非常重要。
每行只写一条语句是很好的做法。例如
public void Numbers(int number)
{//Good practiceif (number 0){Console.WriteLine(number);}//Bad practiceif (number 0){Console.WriteLine(number);}}
如何撰写备注
最好的做法是以大写文本开始注释并以句点结束。英文注释
写评论对整个团队都有帮助。它使代码更具可读性、可维护性和可理解性。将注释放在新行上而不是放在代码末尾这是一种很好的做法。例如
class Car
{public string Name { get; set; }//We place comments here. //And end with a period.public void Move(){//...}
}通用C#编码最佳实践
如何将值与空字符串进行比较
在将值与空字符串进行比较时请尝试String.Empty而不是“”。使用String.Empty可以提高代码的可读性并明确表示比较是针对空字符串的。这使得将来更容易理解和维护代码。
public void NameCheck(string name)
{if(name String.Empty){}}使用异常处理
使用异常处理来优雅地处理错误和异常。这有助于防止代码崩溃并使其更加健壮。对于大多数异常处理使用try-catch语句是很好的做法。 public void NameCheck(string name){try{//type code here}catch (Exception exception) { }{//type code here}}使用和||可获得更好的性能
为了提高应用程序的性能在执行比较时最好使用而不是使用||而不是|如下例所示。
public void Numbers(int number)
{if (number 2 number 4){Console.WriteLine(number);}
}这是因为和||运算符被称为“短路”运算符。这意味着如果运算的第一个操作数为false则不会计算第二个操作数因为整个表达式必须为false。
同样如果||操作的第一个操作数为真则不会计算第二个操作数因为整个表达式必须为真。
这反过来又提高了程序的性能。
单一职责
最好将方法限制为单个功能。不要试图将一个类的多个功能组合到一个方法中。这确保了代码的可读性并帮助您避免编写“意大利面条式代码”。
class AppNotification
{ public void SendNotification(){//. . .}public void ReceiveNotification(){//. . .}public void MuteNotification(){//. . .}
}使用枚举表示离散值
使用枚举而不是数字和字符串来表示离散值。枚举提供了一种提高代码质量的方法使其更具可读性、类型安全性和效率。它们还提供了一种定义一组命名积分常数的方法。 class Car{public enum LoggerType{NewCars,UsedCars,Database}public void DisplayException(string message, LoggerType loggerType){switch (loggerType){case LoggerType.NewCars:Console.WriteLine(LoggerType.NewCars);break;case LoggerType.UsedCars:Console.WriteLine(LoggerType.UsedCars);break;case LoggerType.Database:Console.WriteLine(LoggerType.Database);break;default:Console.WriteLine(message);break;}}}如何将字符串变量与用户输入进行比较
在将字符串变量与用户输入进行比较之前始终将其转换为大写或小写是一种很好的做法。
这确保了比较不区分大小写。这使您的代码更具可读性和可维护性因为它消除了对案例处理逻辑的需求。 class Car{public void DisplayTransactions(){string name Console.ReadLine();if(name.ToLower() Joe){//...}//Or.if (name.ToUpper() Joe){//...}}}原文
C# Coding Best Practices – Coding Conventions with Examples