如何设计一个有很多条件的课程

时间:2016-06-15 16:15:13

标签: c# conditional-statements

我有一个处理医疗数据管理的课程。 我必须计算一些算法值,但有很多条件。现在我想放置这些 代码以非常易读和可维护的方式。可能是因为某些设计模式可以帮助但不确定。

有人可以建议我编写具有如此多条件的下面代码的最佳方法。

代码段:

 public MedicalData UpdatePatientData(List<Side> side)
    {
        var medicalData = new MedicalData();

        // if both side available
        if (side[0] == Side.Left && side[1] == Side.Right)
        {
            // if both side valid
            if (IsValid(side[0]) && IsValid(side[1]))
            {
               return medicalData.AlgorithmValue = // here goes some  
                                      //calculation logic and return
            }

            // if only left side valid
            if (IsValid(side[0]))
            {
               return medicalData.AlgorithmValue = // here goes some 
                                //calculation logic and return
            }

            // if only right side valid
            if (IsValid(side[0]))
            {
               return medicalData.AlgorithmValue = // here goes some 
                                   //calculation logic and return
            }
        }

        // if only left side available
        if (side[0] == Side.Left)
        {
            if (IsValid(Side.Left))
            {
                return medicalData.AlgorithmValue = // here goes some 
                               //calculation logic and return
            }
        }

        // if only right side available
        if (side[1] == Side.Right)
        {
            if (IsValid(Side.Right))
            {
              return  medicalData.AlgorithmValue = // here goes some 
                            //calculation logic and return
            }
        }

        return medicalData;
    }

谢谢&amp;问候

0 个答案:

没有答案