1. C# / Говнокод #542

    +119.1

    1. 1
    2. 2
    3. 3
    string destination = null;
    for (int i = 0; i < 13; i++)
        destination += source[i];

    Копирование строки

    Запостил: guest, 12 Февраля 2009

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

    • Anon:
      Научись сначала отличать копирование от конкатенации, а потом уж пости.
      Ответить
    • Ro:
      #1 все равно это говно, а не код.
      Во-первых, не контролируется длина строки source, что чревато OutOfRangeException. 100% уверен, что аффтар это говно в трайкеч запихнул.
      Во-вторых, если уж писать, то destination = source.SubString(0, 13);
      Ответить
    • x11:
      Нормальный код, не производительный конечно, но на определение говнокода не тянет. Лучше использовать StringBuilder для конкатенации.
      Так что автор не прав.

      Товарищ Ro тоже не прав, IMHO. Не должна сборка строки вызывать исключение OutOfRangeException. А касательно второго пункта, то там складываются 13 строк, как я понял, а не подстрока из 13 символов, так что снова не прав )
      Ответить
    • Я выложил этот говнокод. Сорри, что не показал, но source это строка, а не массив строк. И строка всегда равна 13 символам. Exception'a не будет, но вот 12 лишних объектов в gen 0 нам обеспечено.
      Ответить

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