加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 传递参数的最佳实践,可以采用两个值

发布时间:2020-12-16 00:17:05 所属栏目:百科 来源:网络整理
导读:怎么写得更好? public void Foo(bool isStart) { // Code [Common] if (is Start) { // Code [Start] } else { // Code [End] } // Code [Common]} 要么 public enum MyEnum { Start,End}public void Foo(MyEnum param) { // Code [Common] switch (param)
怎么写得更好?

public void Foo(bool isStart) {
   // Code [Common]
   if (is Start) {
      // Code [Start]
   } else {
      // Code [End]
   }
   // Code [Common]
}

要么

public enum MyEnum {
   Start,End
}
public void Foo(MyEnum param) {
   // Code [Common]
   switch (param) {
      case MyEnum.Start:
         // Code [Start]
         break;
      case MyEnum.End:
         // Code [End]
         break;
   }
   // Code [Common]
}

更新:我正在寻找一个小解决方案. “Common”,“Start”和“End”部分都很短,我不想将Foo分成几种方法.

解决方法

怎么样:

public class Foo
{
    public void Start()
    {
        PreCommon();

        // Code [Start]

        PostCommon();
    }

    public void Stop()
    {
        PreCommon();

        // Code [Stop]

        PostCommon();
    }

    private void PreCommon()
    {
        // Code [Pre-Common]
    }  

    private void PostCommon()
    {
        // Code [Post-Common]
    }    
    ...

}

具有单一职责的方法更易于阅读,更易于理解且更易于维护.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读