Нужен рефакторинг метода:
```
public static void CompareInitialValue(string objName)
{
    string currentDataType = "";
    var objTypeList = new string[]
    {
        "SIMPLE",
        "ARRAY",
        "ARRAYARRAY",
        "MATRIX",
        "ARRAYSIMPLESTRUCTURE",
        "STRUCTURESIMPLE",
        "STRUCTUREARRAY",
        "STRUCTUREARRAYARRAY",
        "STRUCTUREMATRIX",
        "STRUCTURESTRUCTURESIMPLE",
        "FBSIMPLE",
        "FBARRAY",
        "FBSTRUCTURESIMPLE",
        "FBFBSIMPLE"
    };
    var objType = "";
    int readTimeoutMs = 1200;
    int plcNum = 1;

    for (var i = 0; i < objTypeList.Length; i++)
    {
        objType = (objName.Contains($"_{objTypeList[i]}")) ? objTypeList[i] : objType;
    }

    for (var i = 0; i < DataPlcExtended.typeDataList.Length; i++)
    {
        currentDataType = (objName.Contains($"_{DataPlcExtended.typeDataList[i]}")) ? DataPlcExtended.typeDataList[i] : currentDataType;
    }

    ATLogger.Info($"Характеристики переменной '{objName}': тип объекта = {objType}, типа данных = {currentDataType}").PrintToTestLogFile(TestSteps.FileTestReport);

    switch (objType)
    {
        case "":

            ATLogger.Info($"Не определён тип переменной '{objName}'").PrintToTestLogFile(TestSteps.FileTestReport);
            Assert.Fail($"Не определён тип переменной '{objName}'");
            break;

        case "SIMPLE":

            ATLogger.Info("Проверка начальных значений 'простых типов'").PrintToTestLogFile(TestSteps.FileTestReport);
            var index = (objName.Contains($"DEFAULT_")) ? 0 : 1;

            ATLogger.Info($"Данные для сравнения: DataPlcExtended.arrayValue[{currentDataType}][{index}] = {DataPlcExtended.arrayValue[currentDataType][index]}").PrintToTestLogFile(TestSteps.FileTestReport);

            Global.GateWork.CompareIsaObjectValueWithExpect
            (
                currentDeviceName,
                currentResourceNumb,
                objName,
                DataPlcExtended.arrayValue[currentDataType][index],
                readTimeoutMs,
                plcNum,
                TestSteps.FileTestReport
            );

            break;

        case "ARRAY":

            ATLogger.Info("Проверка начальных значений 'массивов'").PrintToTestLogFile(TestSteps.FileTestReport);

            for (var i = 0; i < 10; i++)
            {
                index = (objName.Contains($"DEFAULT_")) ? 0 : i + 2;
                ATLogger.Info($"Данные для сравнения: DataPlcExtended.arrayValue[{currentDataType}][{index}] = {DataPlcExtended.arrayValue[currentDataType][index]}").PrintToTestLogFile(TestSteps.FileTestReport);

                Global.GateWork.CompareIsaObjectValueWithExpect
                (
                    currentDeviceName,
                    currentResourceNumb,
                    $"{objName}[{i}]", DataPlcExtended.arrayValue[currentDataType][index],
                    readTimeoutMs,
                    plcNum,
                    TestSteps.FileTestReport
                );
            }

            break;

        case "ARRAYARRAY":

            ATLogger.Info("Проверка начальных значений 'массивов массивов'").PrintToTestLogFile(TestSteps.FileTestReport);

            for (var i = 0; i < 7; i++)
            {
                for (var j = 0; j < 10; j++)
                {
                    index = (objName.Contains($"DEFAULT_")) ? 0 : j + 2;
                    ATLogger.Info($"Данные для сравнения: DataPlcExtended.arrayValue[{currentDataType}][{index}] = {DataPlcExtended.arrayValue[currentDataType][index]}").PrintToTestLogFile(TestSteps.FileTestReport);

                    Global.GateWork.CompareIsaObjectValueWithExpect
                    (
                        currentDeviceName,
                        currentResourceNumb,
                        $"{objName}[{i}][{j}]",
                        DataPlcExtended.arrayValue[currentDataType][index],
                        readTimeoutMs,
                        plcNum,
                        TestSteps.FileTestReport
                    );
                }
            }

            break;

        case "MATRIX":

            ATLogger.Info("Проверка начальных значений 'матриц'").PrintToTestLogFile(TestSteps.FileTestReport);

            for (var i = 0; i < 7; i++)
            {
                for (var j = 0; j < 10; j++)
                {
                    index = (objName.Contains($"DEFAULT_")) ? 0 : j + 2;
                    ATLogger.Info($"Данные для сравнения: DataPlcExtended.arrayValue[{currentDataType}][{index}] = {DataPlcExtended.arrayValue[currentDataType][index]}").PrintToTestLogFile(TestSteps.FileTestReport);

                    Global.GateWork.CompareIsaObjectValueWithExpect
                    (
                        currentDeviceName,
                        currentResourceNumb,
                        $"{objName}[{i},{j}]",
                        DataPlcExtended.arrayValue[currentDataType][index],
                        readTimeoutMs,
                        plcNum,
                        TestSteps.FileTestReport
                    );
                }
            }

            break;

        case "ARRAYSIMPLESTRUCTURE":

            ATLogger.Info("Проверка начальных значений 'массива структур простых типов'").PrintToTestLogFile(TestSteps.FileTestReport);

            for (var i = 0; i < 5; i++)
            {
                for (var j = 0; j < DataPlcExtended.typeDataList.Length; j++)
                {
                    index = (objName.Contains($"DEFAULT_")) ? 0 : 1;
                    ATLogger.Info($"Данные для сравнения: DataPlcExtended.arrayValue[{DataPlcExtended.typeDataList[j]}][{index}] = {DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[j]][index]}").PrintToTestLogFile(TestSteps.FileTestReport);

                    Global.GateWork.CompareIsaObjectValueWithExpect
                    (
                        currentDeviceName,
                        currentResourceNumb,
                        $"{objName}[{i}].SIMPLE_{DataPlcExtended.typeDataList[j]}",
                        DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[j]][index],
                        readTimeoutMs,
                        plcNum,
                        TestSteps.FileTestReport
                    );
                }
            }

            break;

        case "STRUCTURESIMPLE":

            ATLogger.Info("Проверка начальных значений 'структур простых типов'").PrintToTestLogFile(TestSteps.FileTestReport);

            for (var i = 0; i < DataPlcExtended.typeDataList.Length; i++)
            {
                index = (objName.Contains($"DEFAULT_")) ? 0 : 1;
                ATLogger.Info($"Данные для сравнения: DataPlcExtended.arrayValue[{DataPlcExtended.typeDataList[i]}][{index}] = {DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[i]][index]}").PrintToTestLogFile(TestSteps.FileTestReport);

                Global.GateWork.CompareIsaObjectValueWithExpect
                (
                    currentDeviceName,
                    currentResourceNumb,
                    $"{objName}.SIMPLE_{DataPlcExtended.typeDataList[i]}",
                    DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[i]][index],
                    readTimeoutMs,
                    plcNum,
                    TestSteps.FileTestReport
                );
            }

            break;

        case "STRUCTUREARRAY":

            ATLogger.Info("Проверка начальных значений 'структур массивов'").PrintToTestLogFile(TestSteps.FileTestReport);

            for (var i = 0; i < DataPlcExtended.typeDataList.Length; i++)
            {
                for (var j = 0; j < 10; j++)
                {
                    index = (objName.Contains($"DEFAULT_")) ? 0 : j + 2;
                    ATLogger.Info($"Данные для сравнения: DataPlcExtended.arrayValue[{DataPlcExtended.typeDataList[i]}][{index}] = {DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[i]][index]}").PrintToTestLogFile(TestSteps.FileTestReport);

                    Global.GateWork.CompareIsaObjectValueWithExpect
                    (
                        currentDeviceName,
                        currentResourceNumb,
                        $"{objName}.ARRAY_{DataPlcExtended.typeDataList[i]}[{j}]",
                        DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[i]][index],
                        readTimeoutMs,
                        plcNum,
                        TestSteps.FileTestReport
                    );
                }
            }

            break;

        case "STRUCTUREARRAYARRAY":

            ATLogger.Info("Проверка начальных значений 'структур массивов массивов'").PrintToTestLogFile(TestSteps.FileTestReport);

            for (var i = 0; i < DataPlcExtended.typeDataList.Length; i++)
            {
                for (var j = 0; j < 7; j++)
                {
                    for (var k = 0; k < 10; k++)
                    {
                        index = (objName.Contains($"DEFAULT_")) ? 0 : k + 2;
                        ATLogger.Info($"Данные для сравнения: DataPlcExtended.arrayValue[{DataPlcExtended.typeDataList[i]}][{index}] = {DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[i]][index]}").PrintToTestLogFile(TestSteps.FileTestReport);

                        Global.GateWork.CompareIsaObjectValueWithExpect
                        (
                            currentDeviceName,
                            currentResourceNumb,
                            $"{objName}.ARRAYARRAY_{DataPlcExtended.typeDataList[i]}[{j}][{k}]",
                            DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[i]][index],
                            readTimeoutMs,
                            plcNum,
                            TestSteps.FileTestReport
                        );
                    }
                }
            }

            break;

        case "STRUCTUREMATRIX":

            ATLogger.Info("Проверка начальных значений 'структур матриц'").PrintToTestLogFile(TestSteps.FileTestReport);

            for (var i = 0; i < DataPlcExtended.typeDataList.Length; i++)
            {
                for (var j = 0; j < 7; j++)
                {
                    for (var k = 0; k < 10; k++)
                    {
                        index = (objName.Contains($"DEFAULT_")) ? 0 : k + 2;
                        ATLogger.Info($"Данные для сравнения: DataPlcExtended.arrayValue[{DataPlcExtended.typeDataList[i]}][{index}] = {DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[i]][index]}").PrintToTestLogFile(TestSteps.FileTestReport);

                        Global.GateWork.CompareIsaObjectValueWithExpect
                        (
                            currentDeviceName,
                            currentResourceNumb,
                            $"{objName}.MATRIX_{DataPlcExtended.typeDataList[i]}[{j},{k}]",
                            DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[i]][index],
                            readTimeoutMs,
                            plcNum,
                            TestSteps.FileTestReport
                        );
                    }
                }
            }

            break;

        case "STRUCTURESTRUCTURESIMPLE":

            ATLogger.Info("Проверка начальных значений 'структур структур простых типов'").PrintToTestLogFile(TestSteps.FileTestReport);

            for (var i = 0; i < 5; i++)
            {
                for (var j = 0; j < DataPlcExtended.typeDataList.Length; j++)
                {
                    index = (objName.Contains($"DEFAULT_")) ? 0 : 1;
                    ATLogger.Info($"Данные для сравнения: DataPlcExtended.arrayValue[{DataPlcExtended.typeDataList[j]}][{index}] = {DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[j]][index]}").PrintToTestLogFile(TestSteps.FileTestReport);

                    Global.GateWork.CompareIsaObjectValueWithExpect
                    (
                        currentDeviceName,
                        currentResourceNumb,
                        $"{objName}.SIMPLE_STRUCTURE_{i}.SIMPLE_{DataPlcExtended.typeDataList[j]}",
                        DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[j]][index],
                        readTimeoutMs,
                        plcNum,
                        TestSteps.FileTestReport
                    );
                }
            }

            break;

        case "FBSIMPLE":

            ATLogger.Info("Проверка начальных значений 'ФБ с простыми типами'").PrintToTestLogFile(TestSteps.FileTestReport);
            var typeVarList = new string[] { "IN", "OUT", "LOCAL" };

            for (var i = 0; i < typeVarList.Length; i++)
            {
                for (var j = 0; j < DataPlcExtended.typeDataList.Length; j++)
                {
                    index = (objName.Contains($"DEFAULT_")) ? 0 : 1;
                    ATLogger.Info($"Данные для сравнения: DataPlcExtended.arrayValue[{DataPlcExtended.typeDataList[j]}][{index}] = {DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[j]][index]}").PrintToTestLogFile(TestSteps.FileTestReport);

                    Global.GateWork.CompareIsaObjectValueWithExpect
                    (
                        currentDeviceName,
                        currentResourceNumb,
                        $"{objName}.{typeVarList[i]}_{DataPlcExtended.typeDataList[j]}",
                        DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[j]][index],
                        readTimeoutMs,
                        plcNum,
                        TestSteps.FileTestReport
                    );
                }
            }

            break;

        case "FBARRAY":

            ATLogger.Info("Проверка начальных значений 'ФБ с простыми типами'").PrintToTestLogFile(TestSteps.FileTestReport);
            typeVarList = new string[] { "IN", "OUT", "LOCAL" };

            for (var i = 0; i < typeVarList.Length; i++)
            {
                for (var j = 0; j < DataPlcExtended.typeDataList.Length; j++)
                {
                    for (var k = 0; k < 10; k++)
                    {
                        index = (objName.Contains($"DEFAULT_")) ? 0 : k + 2;
                        ATLogger.Info($"Данные для сравнения: DataPlcExtended.arrayValue[{DataPlcExtended.typeDataList[j]}][{index}] = {DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[j]][index]}").PrintToTestLogFile(TestSteps.FileTestReport);

                        Global.GateWork.CompareIsaObjectValueWithExpect
                        (
                            currentDeviceName,
                            currentResourceNumb,
                            $"{objName}.{typeVarList[i]}_ARRAY_{DataPlcExtended.typeDataList[j]}[{k}]",
                            DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[j]][index],
                            readTimeoutMs,
                            plcNum,
                            TestSteps.FileTestReport
                        );
                    }
                }
            }

            break;

        case "FBSTRUCTURESIMPLE":

            ATLogger.Info("Проверка начальных значений 'ФБ со структурами простых типов'").PrintToTestLogFile(TestSteps.FileTestReport);
            typeVarList = new string[] { "IN", "OUT", "LOCAL" };

            for (var i = 0; i < typeVarList.Length; i++)
            {
                for (var j = 0; j < DataPlcExtended.typeDataList.Length; j++)
                {
                    index = (objName.Contains($"DEFAULT_")) ? 0 : 1;
                    ATLogger.Info($"Данные для сравнения: DataPlcExtended.arrayValue[{DataPlcExtended.typeDataList[j]}][{index}] = {DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[j]][index]}").PrintToTestLogFile(TestSteps.FileTestReport);

                    Global.GateWork.CompareIsaObjectValueWithExpect
                    (
                        currentDeviceName,
                        currentResourceNumb,
                        $"{objName}.{typeVarList[i]}_STRUCTURE.SIMPLE_{DataPlcExtended.typeDataList[j]}",
                        DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[j]][index],
                        readTimeoutMs,
                        plcNum,
                        TestSteps.FileTestReport
                    );
                }
            }

            break;

        case "FBFBSIMPLE":

            ATLogger.Info("Проверка начальных значений 'ФБ с ФБ с простыми типами'").PrintToTestLogFile(TestSteps.FileTestReport);
            typeVarList = new string[] { "IN", "OUT", "LOCAL" };

            for (var i = 0; i < typeVarList.Length; i++)
            {
                for (var j = 0; j < DataPlcExtended.typeDataList.Length; j++)
                {
                    index = (objName.Contains($"DEFAULT_")) ? 0 : 1;
                    ATLogger.Info($"Данные для сравнения: DataPlcExtended.arrayValue[{DataPlcExtended.typeDataList[j]}][{index}] = {DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[j]][index]}").PrintToTestLogFile(TestSteps.FileTestReport);

                    Global.GateWork.CompareIsaObjectValueWithExpect
                    (
                        currentDeviceName,
                        currentResourceNumb,
                        $"{objName}.FB_SIMPLE_TYPE.{typeVarList[i]}_{DataPlcExtended.typeDataList[j]}",
                        DataPlcExtended.arrayValue[DataPlcExtended.typeDataList[j]][index],
                        readTimeoutMs,
                        plcNum,
                        TestSteps.FileTestReport
                    );
                }
            }

            break;
    }
}
```