一个方法只完成一个任务。不要把多个任务组合到一个方法中,即使那些任务非常小。
好:
// Save the address. SaveAddress ( address ); // Send an email to the supervisor to inform that the address is updated. SendEmail ( address, email ); void SaveAddress ( string address ) { // Save the address. // } void SendEmail ( string address, string email ) { // Send an email to inform the supervisor that the address is changed. // }
不好:
// Save address and send an email to the supervisor to inform that the address is updated. SaveAddress ( address, email ); void SaveAddress ( string address, string email ) { // Job 1. // Save the address. // // Job 2. // Send an email to inform the supervisor that the address is changed. // }
使用C# 或 VB.NET的特有类型,而不是System命名空间中定义的别名类型。
好:
int age; string name; object contactInfo;
不好:
Int16 age; String name; Object contactInfo;
别在程序中使用固定数值,用常量代替。
别用字符串常数。用资源文件。
避免使用很多成员变量。声明局部变量,并传递给方法。不要在方法间共享成员变量。如果在几个方法间共享一个成员变量,那就很难知道是哪个方法在什么时候修改了它的值。
必要时使用enum 。别用数字或字符串来指示离散值。
好:
enum MailType { Html, PlainText, Attachment } void SendMail (string message, MailType mailType) { switch ( mailType ) { case MailType.Html: // Do something break; case MailType.PlainText: // Do something break; case MailType.Attachment: // Do something break; default: // Do something break; } }
不好:
void SendMail (string message, string mailType) { switch ( mailType ) { case "Html": // Do something break; case "PlainText": // Do something break; case "Attachment": // Do something break; default: // Do something break; } }
别把成员变量声明为 public 或 protected。都声明为 private 而使用 public/protected 的Properties.
不在代码中使用具体的路径和驱动器名。 使用相对路径,并使路径可编程。
永远别设想你的代码是在“C:”盘运行。你不会知道,一些用户在网络或“Z:”盘运行程序。
应用程序启动时作些“自检”并确保所需文件和附件在指定的位置。必要时检查数据库连接。出现任何问题给用户一个友好的提示。
如果需要的配置文件找不到,应用程序需能自己创建使用默认值的一份。
如果在配置文件中发现错误值,应用程序要抛出错误,给出提示消息告诉用户正确值。
错误消息需能帮助用户解决问题。永远别用象"应用程序出错", "发现一个错误" 等错误消息。而应给出象 "更新数据库失败。请确保登陆id和密码正确。" 的具体消息。
显示错误消息时,除了说哪里错了,还应提示用户如何解决问题。不要用 象 "更新数据库失败。"这样的,要提示用户怎么做:"更新数据库失败。请确保登陆id和密码正确。"
显示给用户的消息要简短而友好。但要把所有可能的信息都记录下来,以助诊断问题。
注释
别每行代码,每个声明的变量都做注释。
在需要的地方注释。可读性强的代码需要很少的注释。如果所有的变量和方法的命名都很有意义,会使代码可读性很强并无需太多注释。
行数不多的注释会使代码看起来优雅。但如果代码不清晰,可读性差