返回错误代码C#的优雅设计

时间:2019-07-18 09:45:12

标签: c# if-statement solid-principles

我有这段代码可以初始化硬件设备。当我调用initialize方法时,我正在检查每个dll调用方法是否返回错误,以便我可以知道哪个特定的dll调用会导致错误。

这是初始化代码。

public class Hardware {
        int e;
        int f;

    public int Initialize()
    {
            int a = 0;
            int b = 0;
            int c = 0;
            int d = 0;



            try
            {
                if (MyClass.InitDevice())

                {

                    e = MyClass.DoSomething();

                    if (e >= 0)
                    {

                        if (MyClass.DoSomething1(0, e) < 0)
                            return 6;

                        if (MyCLass.DoSomething2(ref a, ref b, ref c, ref d, e) < 0)
                        return 5;

                        f = 0;
                        if (!DoSomething3(false))
                            return 4;

                    }
                    else
                        return 3;
                }
                else
                    return 2;
            }
            catch
            {
                return 1;
            }

            return 0;
        }

MyClass包装dll方法InitDevice,DoSomething1,DoSomething2,DoSomething3等。

例如。

public MyClass
    public bool InitDevices()
    {
        return StaticClass.InitDevices(); // InitDevices is the actual dll method call
    }

使用嵌套的if似乎代码很复杂。有没有更清洁的方法来实现它?返回代码基本上是错误代码,用于指示硬件类中发生了什么故障点。

什么是减少代码的良好软件工程实践?

0 个答案:

没有答案