Resharper жалуется на redundant else
От: hard.disk  
Дата: 05.09.22 17:19
Оценка:
В таком коде:

private static int[] Split(List<int> list)
        {
            const int splitter = 0;
            const int startstop = 9;

            var result = new List<int>();
            var start = true;

            for (var pos = 0; pos < list.Count; pos++)
            {
                if (start)
                {
                    if (list[pos] == startstop)
                    {
                        start = false;
                    }

                    continue;
                }

                start = true;

                var k = 0;
                var index = list.FindIndex(pos, i => i == startstop);

                if (index + 1 < list.Count)
                {
                    if (list[index + 1] != splitter)
                    {
                        start = false;

                        continue;
                    }
                    else
                    {
                        k = 2;
                    }
                }

                result.Add(index + k);
            }

            return result.ToArray();
        }


Предлагает убрать else:



ReSharper 2022.2.2
Microsoft Visual Studio Professional 2022 (64-bit)
Version 17.3.3
Отредактировано 05.09.2022 17:27 hard.disk . Предыдущая версия .
Re: Resharper жалуется на redundant else
От: Буравчик Россия  
Дата: 05.09.22 17:24
Оценка:
Здравствуйте, hard.disk, Вы писали:

HD>Предлагает убрать else:


HD>Image: ResharperRedundantElse.png


Потому что он избыточный. Зачем добавлять лишнюю вложенность?

Просто напиши код без else

См. "Return Early Pattern"
Best regards, Буравчик
Re[2]: Resharper жалуется на redundant else
От: hard.disk  
Дата: 05.09.22 17:30
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>Здравствуйте, hard.disk, Вы писали:


HD>>Предлагает убрать else:


HD>>Image: ResharperRedundantElse.png


Б>Потому что он избыточный. Зачем добавлять лишнюю вложенность?


Б>Просто напиши код без else


Если else оставить то k будет равно 0, а если послушать ReSharper, то будет равно 2.
Re[3]: Resharper жалуется на redundant else
От: Буравчик Россия  
Дата: 05.09.22 17:50
Оценка: +1
Здравствуйте, hard.disk, Вы писали:

Предлагается убрать else, а не код из ветки else.
Т.е. надо написать так:

                    if (list[index + 1] != splitter)
                    {
                        start = false;
                        continue;
                    }

                    k = 2;
Best regards, Буравчик
Re[4]: Resharper жалуется на redundant else
От: hard.disk  
Дата: 05.09.22 18:01
Оценка: :)
Здравствуйте, Буравчик, Вы писали:

Б>Здравствуйте, hard.disk, Вы писали:


Б>Предлагается убрать else, а не код из ветки else.

Б>Т.е. надо написать так:

Б>
Б>                    if (list[index + 1] != splitter)
Б>                    {
Б>                        start = false;
Б>                        continue;
Б>                    }

Б>                    k = 2;
Б>


Блин... выспать нужно
Re: Resharper жалуется на redundant else
От: T4r4sB Россия  
Дата: 05.09.22 18:11
Оценка: :)
Здравствуйте, hard.disk, Вы писали:

HD>В таком коде:


Он специально написан чтоб занять максимум строк?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.