zoukankan      html  css  js  c++  java
  • 编写高质量代码改善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个建议》陆敏技

  • 相关阅读:
    Uva1595 对称轴
    Uva712 S树
    Uva673 平衡的括号
    leetcode102 二叉树的层次遍历
    Uva10191 复合词
    C++ multimap的用法
    Uva1103 古代象形符号
    UVa10763 交换学生
    C++ 优先级队列 priority_queue
    ios,zepto穿透解决方案
  • 原文地址:https://www.cnblogs.com/jesselzj/p/4753665.html
Copyright © 2011-2022 走看看