Перейти к содержанию

C# Что вы думаете об этом коде?(не чит)


Gonzo

Рекомендуемые сообщения

13 минут назад, JustHack сказал:

У автора, странная манера комментов))

Соглашусь - обычно на такие вопросы хочется ответить: "Я не думаю об этом коде "

 

Ссылка на комментарий
Поделиться на другие сайты

Что лично мне бросилось в глаза:

закоменченный код(с зеродеем вспомнил, так же было в сорцах на сиес сурс): 
 //code

 //code

 //code

 

 

/*

 code

 code

 code

*/

 

for (int i = 0; i < myStringleft.Count(); i++)
    {
        dictionary.Add(myStringleft[i], myStringRight[i]);
    }


DrlNYM6hvLYLO2.png

Маловероятно, но ключ(Stringleft) уже может существовать

 

 

Не понимаю зачем было писать функцию "CheckString", если можно было воспользоваться string.CompareTo("0" - равны, "-1" - не равны)

KAxVPMxhMydzZm.png

 

 

 

 

бест кратчесы:

int CheckEncoding(string[] tmpContent)
            {
                foreach (string a in tmpContent)
                {
                    if (a.Contains("о") || a.Contains("щ") || a.Contains("ы") || a.Contains("п") || a.Contains("я") || a.Contains("р"))
                    {
                        return 1251;
                    }
                    else
                    {
                        return 65001;
                    }
                }
                return 65001;
            }

 

KAgklJeu4Q1oZA.png

 

 

еще одна особенность которая занимает больше кода:

int temp = null;

temp = 123;

 

можно int temp = 123; - ну это кому как
 

а что за софт?

Изменено пользователем mrPTyshnik
дай деду из деревни отредактировать его ошибки!
Ссылка на комментарий
Поделиться на другие сайты

Программа для пакетной обработки файлов)

 

из двух файлов получается словарь, по которому обрабатывается папка.

 

писал поздно ночью и только учусь.

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, Gonzo сказал:

из двух файлов получается словарь, по которому обрабатывается папка.

Т.е обычные вещи для современной ОС и командной строки.

И опять C#, что за поколение С# -ов?

Ссылка на комментарий
Поделиться на другие сайты

            if (myStringleft != null && myStringRight != null)
            {
                if (myStringleft.Count() == myStringRight.Count())
                {
for (int i = 0; i < myStringleft.Count(); i++)
    {
        dictionary.Add(myStringleft[i], myStringRight[i]);
    }

не понимаю в чем тут проблема? значение-да, возможна проблема
DrlNYM6hvLYLO2.png

Маловероятно, но ключ(Stringleft) уже может существовать

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Gonzo сказал:

   for (int i = 0; i < myStringleft.Count(); i++)
    {
        dictionary.Add(myStringleft[i], myStringRight[i]);
    }

не понимаю в чем тут проблема? значение-да, возможна проблема


 

если ключ myStringleft уже существует, то вылетит ексепш(лучше проверять через TryGetValue)

Если же ключ никак не сможет повториться - то оставь как есть

Ссылка на комментарий
Поделиться на другие сайты

Про ArgumentException понял, спасибо(если скажет знакомый которому пишу, то исправлю. Скорей всего одинаковые строки недопустимы ). 

NullReference - по идее не будет, там есть проверка, чуть выше.

остальные замечания конечно же не оставлю без внимания. Всем спасибо)

 

Изменено пользователем Gonzo
Ссылка на комментарий
Поделиться на другие сайты

Всегда интересно послушать более опытных товарищей.

 

мне ещё предстоит сюда многопоточность прикрутить.

 

Там в папке которую нужно обработать , 100+ файлов. 

 

Ссылка на комментарий
Поделиться на другие сайты

Очередью можно воспользоваться, чтобы нормально распараллелить. Загоняешь файлы в очередь, и затем создаешь нужное количество потоков, которые из очереди будут дергать файлы на обработку. 

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.