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

0

  1. 1
  2. 2
  3. 3
long id;
try { id = long.Parse(e.Item.Cells[0].Text); }
catch { id = 0; }

Эта жемчужина прекрасно описывает весь говнокод производимый различными группами людей в моей компании.

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

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

  • Что-то подобное написал на 2 курсе. Препод поржал)
    Ответить
  • апофеоз, не спорю (: но все же, как правильно распарсить стринги в число?
    Ответить
      • int i;
        Int32.TryParse(input, out i);
        документация по out гарантирует что переменная будет инициализирована.
        и будет это default(Int32).
        Ответить
        • Да, кстати тогда и инициализировать в ноль не нужно.
          Ответить
        • Возможно код из .net framework 1.1, насколько я помню, там не было long.TryParse
          Ответить
          • Проверил, так похоже и есть. В msdn по long.TryParse нет инфы для 1.1
            Ответить
            • Даже в обсираемой всеми Delphi 7 был TryStrToInt 😉
              Как же MS так пролетели.
              Ответить
              • Потому что судя по всему 1.0 выпускали впопыхах, а 1.1 был во многом просто багфикс 1.0
                Ответить
              • А ещё возможно потому что в первых версиях многое тупо без задней мысли копировалось 1-к-1 с Java, и в Java'овском прототипном Long нет метода tryParseLong, есть только parseLong.
                Ответить
            • Судя по перфорсу, код этот был написан во времена дотнет 2.0.

              Да если бы он и был написал во времена 1.0, всё равно нельзя проглатывать все исключения. Надо было хотя бы прописать catch (FormatException) {}
              Ответить

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

Где здесь C++, guest?!

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


    8