#包编写

【转】编写高质量代码改善C#程序的157个建议——建议151:使用事件访问器替换公开的事件成员变量

 建议151:使用事件访问器替换公开的事件成员变量事件访问器包含两部分内容:添加访问器和删除访问器。如果涉及公开的事件字段,应该始终使用事件访问器。代码如下所示:classSampleClass{EventHandlerListevents=newEventHandlerList();publiceventE...

【转】编写高质量代码改善C#程序的157个建议——建议150:使用匿名方法、Lambda表达式代替方法

 建议150:使用匿名方法、Lambda表达式代替方法方法体如果过小(如小于3行),专门为此定义一个方法就会显得过于繁琐。比如:staticvoidSampeMethod(){List<string>list=newList<string>(){"Mike","Rose","Steve...

【转】编写高质量代码改善C#程序的157个建议——建议149:使用表驱动法避免过长的if和switch分支

 建议149:使用表驱动法避免过长的if和switch分支随着代码变得复杂,我们很容易被过长的if和switch分支困扰。一个类枚举类型Week如下:enumWeek{Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday} 如果要把Week...

【转】编写高质量代码改善C#程序的157个建议——建议148:不重复代码

 建议148:不重复代码 如果发现重复的代码,则意味着我们需要整顿一下,在继续前进。重复的代码让我们的软件行为不一致。举例来说,如果存在两处相同的加密代码。结果在某一天,我们发现加密代码有个小Bug,然后修改了它,却又忘记了角落里的某处存在着一份相同的代码,那么这个Bug就会隐藏起来。让我们重现这个...

【转】编写高质量代码改善C#程序的157个建议——建议147:重构多个相关属性为一个类

 建议147:重构多个相关属性为一个类若存在多个相关属性,就应该考虑是否将其重构为一个类。查看如下类:classPerson{publicstringAddress{get;set;}publicstringZipCode{get;set;}publicstringMobile{get;set;}public...

【转】编写高质量代码改善C#程序的157个建议——建议146:只对外公布必要的操作

 建议146:只对外公布必要的操作那些没有必要公开的方法和属性要声明成private。如果需要公开的方法和属性超过9个,在VS默认的设置下,就需要滚屏才能显示在Intellisense中,如图:SampleClass类:classSampleClass{privateintfield1;privateintf...

【转】编写高质量代码改善C#程序的157个建议——建议145:避免过长的方法和过长的类

 建议145:避免过长的方法和过长的类 如果违反“一个方法只做一件事”及类型的“单一职责原则”,往往会产生过长的方法和过长的类。如果方法过长,意味着可以站在更高的层次上重构出若干更小的方法。以行数作为指标,有人建议一个方法不要超过10行,有人建议不要超...

【转】编写高质量代码改善C#程序的157个建议——建议144:一个方法只做一件事

 建议144:一个方法只做一件事“单一职责原则”(SRP)要求每一个类型只负责一件事情。我们将此概念扩展到方法上,就变成了:一个方法只做一件事。回顾上一建议的代码,LocalInit和RemoteInit方法是两件事情,但是在同一抽象层次上,在类型这个层次对外又可以将其归并为&ldqu...

【转】编写高质量代码改善C#程序的157个建议——建议143:方法抽象级别应在同一层次

 建议143:方法抽象级别应在同一层次看下面代码:classSampleClass{publicvoidInit(){//本地初始化代码1//本地初始化代码2RemoteInit();}voidRemoteInit(){//远程初始化代码1//远程初始化代码2}}  Init方法本意要完成...

【转】编写高质量代码改善C#程序的157个建议——建议142:总是提供有意义的命名

 建议142:总是提供有意义的命名 除非有特殊原型,否则永远不要为自己的代码提供无意义的命名。害怕需要过长的命名才能提供足够的意义?不要怕,其实我们更介意的是在代码的时候出现一个iTemp。inti这样的命名只能出现在循环中(如for循环),除此之外,我们找不到任何理由在代码的其他地方出现这样的无意...

【转】编写高质量代码改善C#程序的157个建议——建议141:不知道该不该用大括号时,就用

 建议141:不知道该不该用大括号时,就用如果if条件语句只有一行语句,要不要使用大括号?答案是:建议使用。一个括号不会增加多少代码,但是却让代码看上去增加了一致性。括号本身只会让代码更具条理性。  转自:《编写高质量代码改善C#程序的157个建议》陆敏技...

【转】编写高质量代码改善C#程序的157个建议——建议140:使用默认的访问修饰符

 建议140:使用默认的访问修饰符(我不太赞成作者的这个观点,这样减少的代码基本可以忽略不计,但是,如果把访问修饰符补充完整,反而会使代码更加易读。我认为自己写代码时应该尽量加上访问修饰符,看别人写的代码时能看懂就可以了。以下是作者的观点)代码整洁的要求之一,就是尽量减少代码,我们从使用默认的访问修饰符开始。...

【转】编写高质量代码改善C#程序的157个建议——建议139:事件处理器命名采用组合方式

 建议139:事件处理器命名采用组合方式所谓事件处理器,就是实际被委托执行的那个方法。查看如下代码:publicMainWindow(){InitializeComponent();Buttonbutton=newButton();button.Click+=button_Click;button.SizeC...

【转】编写高质量代码改善C#程序的157个建议——建议138:事件和委托变量使用动词或形容词短语命名

 建议138:事件和委托变量使用动词或形容词短语命名 事件和委托使用场景是调用某个方法,只不过这个方法由调用者赋值。这决定了对应的变量应该以动词或形容词短语命名。关于事件和委托变量妥当的命名示例如下:publiceventRoutedEventHandlerClick;publiceventSize...

【转】编写高质量代码改善C#程序的157个建议——建议137:委托和事件类型应添加上级后缀

 建议137:委托和事件类型应添加上级后缀委托类型本身是一个类,考虑让派生类的名字以基类名字作为后缀。事件类型是一类特殊的委托,所以事件类型也遵循本建议。委托和事件的正确的命名方式有:publicdelegatevoidHttpContinueDelegate(intstatusCode,System.Net...
首页上一页...2122232425...下一页尾页