建议91:可见字段应该重构为属性 字段和属性的本质区别就是属性是方法. 查看下面这个Person类型: class Person { public string Name { get; set; } } 经过编译器编译后,针对属性Name实际会生成一个private字段和两个public方法: [CompilerGenerated] private string <Name>k__BackingField; [CompilerGenerated] public void set_Name(st…
建议132:考虑用类名作为属性名 一般来说,若果属性对应一个类型,应该直接用类型名命名属性名.如下: class Person { public Company Company { get; set; } } class Company { //省略 } 没有必要为属性名指定另外的名字,如: public Company TheCompany{get;set;} 当然,除非我们的类型当中有多个Company类型的属性,这样就必须为我们的属性重构成不同的命名,如: class Person { p…
2014-05-16 09:08 by Jeff Li 前言 系列文章:[传送门] 下个星期度过这几天的奋战,会抓紧java的进阶学习.听过一句话,大哥说过,你一个月前的代码去看下,慘不忍睹是吧.确实,人和代码一样都在成长,都在变好其中.有时候仅仅是实现功能的编程,长进不了呀. 博客提供的优点就能够交流,讨论的学习方法你们应该知道. 在这里,我会陆陆续续的进行对<编写高质量代码改善java程序的151个建议>看法,希望大家点击交流. 正文 看这本书原因 1.项目做的仅仅是实现功能,然而没有…
原创地址: http://www.cnblogs.com/Alandre/ (泥沙砖瓦浆木匠),需要转载的,保留下! Thanks The reasonable man adapts himself to the world;the unreasonable one persists in trying to adapt the world to himself. —萧伯纳 相信自己看得懂就看得懂了,相信自己能写下去,我就开始写了.其实也简单—泥沙砖瓦浆木匠 Written In The…
建议146:只对外公布必要的操作 那些没有必要公开的方法和属性要声明成private.如果需要公开的方法和属性超过9个,在VS默认的设置下,就需要滚屏才能显示在Intellisense中,如图: SampleClass类: class SampleClass { private int field1; private int field2; private int field3; public int MyProperty1 { get; set; } public int MyProperty…
建议138:事件和委托变量使用动词或形容词短语命名 事件和委托使用场景是调用某个方法,只不过这个方法由调用者赋值.这决定了对应的变量应该以动词或形容词短语命名. 关于事件和委托变量妥当的命名示例如下: public event RoutedEventHandler Click; public event SizeChangedEventHandler SizeChanged; 这两个例子是WPF中Button类型,它们实际不是作为类型的字段出现的,而是作为事件访问器出现的: public eve…