Си диез / Говнокод #11834 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
public string Search(string title)
 {
 List<string> str1 = new List<string>();
 string count = cmainlibrary.Count.ToString();
 int counter = Convert.ToInt32(count);
 int i = 0;

 for ( i = 0; i < counter; i++)
 {
 string title_library = cmainlibrary[i].Title.ToString();
 if (title.ToUpper().Contains(title_library. ToUpper()))
 {
 str1.Add(cmainlibrary[i].Title);

 }
 }
 return str1[i];
 }

Хотя я это выкладывал в коментариях к говнокоду #11830, решил повеселить народ отдельным постом.
Это реализация библиотеки книг. Метод должен искать список книг которые соответствуют title.

Запостил: sater sater, (Updated )

Комментарии (23) RSS

              • Да тут и с нормального ПК такая фигня случается. Подвисает сайт на запросе и непонятно принял он его или нет. У меня вот как было - отправил пост, подвисло, обновил страничку, проверил что поста нет, отправил еще раз - обана, даблпост.
                Ответить
                • > обновил страничку, проверил что поста нет
                  а вот этот момент интересен. агрессивное кеширование?

                  btw какой бровсер?
                  Ответить
                  • Фуррифокс последний.

                    Да походу аякс запрос застрял где-то в недрах клиента\сервера, и выполнился через несколько секунд после того, как я его отправил.
                    Ответить
  • >> for ( i = 0; i < counter; i++)

    ФОРИЧ ИТЕРАТОРЫ ЕСТЬ ЗАЧЕМ ЮЗАТЬ ФОР ФОР МАКСИМУМ ДЛЯ ФАКТОРИАЛА ПОДОЙДЁТ ХВАТИТ УЖЕ ПИСАТЬ КУЧУ БЕСПОЛЕЗНОГО КОДА
    Ответить
    • меня больше умиляет
      string count = cmainlibrary.Count.ToString();
       int counter = Convert.ToInt32(count);
      Ответить
      • Если бы не int counter - подумал бы, что он кроме строк других типов не изучил... но в данном случае даже не знаю что сказать.
        Ответить
      • >> int counter = cmainlibrary.Count.ToString().ToInt32(co unt);
        fxd

        Запушил бы, жаль у автора нет репозитория.
        Ответить
        • Не так.
          string count = cmainlibrary.Count.ToString();
          for (string i = "0"; Convert.ToInt32(i) < Convert.ToInt32(count); count = (Convert.ToInt32(count)+1).ToString()) {
              // ...
          }
          Ответить
    • >ФОРИЧ ИТЕРАТОРЫ ЕСТЬ ЗАЧЕМ ЮЗАТЬ ФОР ФОР
      если счетчик нужен, то полезно
      Ответить
  • > title.ToUpper().Contains(title_library. ToUpper())
    Ищем книги, названия которых входят в искомую строку.

    > i < counter
    > return str1[i]
    Итого return str1[counter].

    Т.е. код вылетает во всех случаях, когда то что ищем не содержит в себе названия всех книг в библиотеке... Ахуенный поиск.

    UPD. Хотя нет, код вылетает всегда. Т.к. даже в случае, когда искомая строка содержит в себе все что надо, максимальный допустимый индекс будет counter-1.
    Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8