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

 

建议146:只对外公布必要的操作

那些没有必要公开的方法和属性要声明成private。如果需要公开的方法和属性超过9个,在VS默认的设置下,就需要滚屏才能显示在Intellisense中,如图:

SampleClass类:

    class SampleClass
    {
        private int field1;
        private int field2;
        private int field3;

        public int MyProperty1 { get; set; }
        public int MyProperty2 { get; set; }
        public int MyProperty3 { get; set; }
        public int MyProperty4 { get; set; }
        public int MyProperty5 { get; set; }
        public int MyProperty6 { get; set; }

        public void Method1()
        {
        }

        public void Method2()
        {
        }

        public void Method3()
        {
        }

    }
View Code

如上图所示,Intellisence在可见范围内为我们提示的方法还包括了从Object继承过来的3个方法,在这个例子中实际真正能为我们显示的有价值的信息只有6条。

如果为SampleClass增加更多的公开属性或方法,意味着我们在使用Intellisence的时候增加了查找成本。

若我们打算将某个方法public或internal,请仔细考虑这种必要性。

除了类型成员外,类型也一样,应将不该对其他项目公开的类型设置成为internal,类型就应该只对本项目开发。

遵守这个规则,会使我们的API看上去清爽很多。

 

 

转自:《编写高质量代码改善C#程序的157个建议》陆敏技

posted @ 2017-12-11 11:10  指间的徘徊  阅读(257)  评论(0编辑  收藏  举报