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

    +123.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //...
    if ( (x > 0) || (x == 0))
    {
              //....
    }

    Человек явно с головой не дружит

    Запостил: psina-from-ua, 01 Декабря 2009

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

    • показать все, что скрытоТо же самое, что и x >= 0
      Ответить
    • Боян
      Ответить
    • имхо, это не есть говнокод, просто неотрефактореный код... и чо сразу с головой не дружит?
      Ответить
    • Автор поста похоже с головой не дружит и мало что знает об оптимизации
      Ответить
      • А в чем суть оптимизации, можно узнать?
        Ответить
        • x >= 0
          Ответить
          • Не понял юмор. Вы написали что автор поста "мало что знает об оптимизации", значит приведенный говнокод есть оптимизированный нормальный код, правильно я вас понял? Если да то я и спрашиваю где здесь оптимизация.
            Ответить
        • Ленивые вычисления в условиях. Слышали о таких?
          если 1 е условие проваливается, то остальные не вычисляются
          хотя, в случае с простыми числами - это говнокод
          Ответить
          • Ну, тут как раз наоборот. Если первое выполняется, то второе не вычисляется.
            Ответить
      • смеялсо.
        где тут оптимизация?
        test + jg && test + je или jne // x > 0 || x == 0
        против
        test + jl // x >= 0

        за ассемблер не ручаюсь, просто грубо прикинул.
        может быть умный компилятор даже одинаковый код сгенерит, ругнувшись втихаря на "оптимизатора".
        Ответить
        • Вы лучше мысли излагайте правильно, а потом посмейтесь.
          Значит автор кода все таки, а не автор поста. А ассемблер я немного знаю.
          Ответить
          • эмм..
            автор кода однозначно не дружит с головой.
            автор поста, очевидно, дружит.
            я отвечал на фразу "Автор поста похоже с головой не дружит и мало что знает об оптимизации", которую кто-то даже плюсанул.
            из этой фразы следует, что приведенный код - вовсе не говно, а отличная оптимизация. мой плехо понимать по-русску?
            посмеялся я над этой фразой и заодно тем, кто ее плюсанул.
            Ответить
            • Блин, я запутался а этих guest. Извините.
              Ответить
        • По результатам профилирования, x>=0 работает быстрее x>0 || x==0.
          Ответить
      • Молодец. Дибил
        Ответить

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