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

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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+ файлов. 

 

Поделиться сообщением


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

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

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×

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

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