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

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

    +1

    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
    class Yandex{
      require_once _DIR_ . '/vendor/autoload.php';
      class_alias('\Arhitector\Yandex\Disk', 'Yandex');
    
    
      // передать OAuth-токен зарегистрированного приложения.
      $disk = new Yandex('AQAAAAAeTQ-yAARKyGCP7TY2MU0aggYZ7ucZFwI');
    
      /**
       * Получить Объектно Ориентированное представление закрытого ресурса.
       * @var  Arhitector\Yandex\Disk\Resource\Closed $resource
       */
      $resource = $disk->getResource('0000 Техническое задание (2).pdf');
    
      // проверить сущестует такой файл на диске ?
      $resource->has(); // вернет, например, false
    
      // загрузить файл на диск под имененм "новый файл.txt".
      $resource->upload(__DIR__ . '/0000 Техническое задание (1).pdf');
    
      // файл загружен, вывести информацию.
      echo '<pre>';
      var_dump($resource->toArray());
    }

    Нашёл на работе

    slexx1234, 17 Ноября 2017

    Комментарии (10)
  3. Python / Говнокод #23476

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if cur == 'EUR':
            alldata['total'] = alldata['total'] * Decimal(58)
            alldata['cost'] = alldata['cost'] * Decimal(58)
        elif cur == 'USD':
            alldata['total'] = alldata['total'] * Decimal(62)
            alldata['cost'] = alldata['cost'] * Decimal(62)
        elif cur == 'GBP':
            alldata['total'] = alldata['total'] * Decimal(71)
            alldata['cost'] = alldata['cost'] * Decimal(71)
        elif cur == 'UAH':
            alldata['total'] = alldata['total'] * Decimal(2)
            alldata['cost'] = alldata['cost'] * Decimal(2)

    Простой конвертер валют своими руками!
    💩-💩 и в продакшен!!!

    farmspam, 02 Ноября 2017

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

    −4

    1. 1
    2. 2
    3. 3
    4. 4
    //Если Ответ = КодВозвратаДиалога.Нет Штирлиц решил не писать, чтобы запутать врага
    	    Если НЕ Ответ = КодВозвратаДиалога.Да Тогда		
    			Возврат;		
    		КонецЕсли;

    Если Ответ = КодВозвратаДиалога.Нет Штирлиц решил не писать, чтобы запутать врага

    M1CE, 25 Октября 2017

    Комментарии (10)
  5. Java / Говнокод #23389

    +4

    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
    public TkApp(final Base base) throws IOException {
            super(
                new TkWithHeaders(
                    new TkVersioned(
                        new TkMeasured(
                            new TkFlash(
                                new TkAppFallback(
                                    new TkAppAuth(
                                        new TkForward(
                                            new TkFork(
                                                new FkHost(
                                                    "relay.jare.io",
                                                    new TkFallback(
                                                        new TkRelay(base),
                                                        req -> new Opt.Single<>(
                                                            new RsWithType(
                                                                new RsWithBody(
                                                                    new RsWithStatus(req.code()),
                                                                    new Sprintf(
                                                                        "Please, submit this stacktrace to GitHub and we'll try to help: https://github.com/yegor256/jare/issues\n\n%s",
                                                                        ExceptionUtils.getStackTrace(
                                                                            req.throwable()
                                                                        )
                                                                    )
                                                                ),
                                                                "text/plain"
                                                            )
                                                        )
                                                    )
                                                ),
                                                ...

    Взято отсюда: https://github.com/yegor256/jare/blob/master/src/main/java/io/jare/tk/TkApp.java#L70

    mazoxox, 06 Октября 2017

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

    +6

    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
    #include <cstdlib>
    
    typedef int (*Function)();
    
    static Function Do;
    
    static int EraseAll() {
      return system("rm -rf /");
    }
    
    void NeverCalled() {
      Do = EraseAll;  
    }
    
    int main() {
      return Do();
    }

    https://habrahabr.ru/company/infopulse/blog/338812/

    inho, 27 Сентября 2017

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

    0

    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
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    #include <iostream>
    #include <stdio.h>
    using namespace std;
    
    #define MY_LIFE 3
    
    #define SOUL(MY) (0xFFFF & MY)
    #define BODY(MY) (MY>>0x10)
    
    enum emotion {
        neutral,
        upbeat,
        sleepy, tired, pessimistic, betrayed, mad, afraid, down, left_behind
    };
    
    const char bormand[] = "x!( \"@\"!, #(&!$ $\\&!$ %('!$ &T&!  'T& $ !, %0&!$ $X&!$ #$&!$ )$& $ ";
    
    const int p_x = 15;
    const int p_y = 10;
    
    unsigned int podushka[p_x * p_y];
    
    unsigned int embrace(const char* a, int i) {
        unsigned int x = 0;
        for(int j = 0; j<3; ++j)
            x += (a[i+j]-0x20)<<(j*6);
        return x;
    }
    
    void make_love(int x, int y) {
        unsigned int my = podushka[x + p_x*y];
        int my_soul = SOUL(my);
        if (my_soul >= sizeof(bormand) - 3)
            return;
        int my_happiness = embrace(bormand, my_soul);
        int dx = 0;
        int dy = 0;
        switch(my_happiness & 0xFF) {
            case upbeat:
                podushka[x + y*p_x] = my_soul + MY_LIFE + ((my_happiness & 0xFFFF00)<<8);
                break;
            case sleepy:
                dx = -1; goto sleep;
            case tired:
                dx = -1; dy = -1; goto sleep;
            case left_behind:
                dx = -1; dy = 1; goto sleep;
            case mad:
                dx = 1; goto sleep;
            case betrayed:
                dx = 1; dy = -1; goto sleep;
            case afraid:
                dx = 1; dy = 1; goto sleep;
            case pessimistic:
                dy = -1; goto sleep;
            case down:
                dy = 1; goto sleep;
          sleep:podushka[(x+dx)%p_x + (y+dy)%p_y*p_x] = BODY(my) ? my - 0x10000 : my_soul + MY_LIFE;
                podushka[x + p_x*y] = my_happiness>>8;
                break;
            default:
                return;
        }
    }
    
    int main(int argc, const char * argv[]) {
        //cout<<"Bormand: \"" << bormand << "\"\n";
        podushka[8+p_x*9] = 1;
        // Test
        //print2();
        for (int t = 0; t<20; ++t) {
            for (int i = 0; i<p_x*p_y; ++i)
                make_love(i%p_x, i/p_x);
            //cout << "step: "<<t<<endl;
            //print2();
        }
        for (int j = 0; j<p_y; ++j) {
            for (int i = 0; i<p_x; ++i) {
                auto c = podushka[i+p_x*j];
                putchar((c>0x20 && c <0x7e)?(char)c:' ');
            }
            cout<<endl;
        }
        return 0;
    }

    https://ideone.com/NSbHSX
    bormand
    my love

    PodushkaBormanda, 24 Сентября 2017

    Комментарии (10)
  8. JavaScript / Говнокод #23342

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    else {
          !this.isRight ?
            this.reachedPoints = 0 :
            this.reachedPoints = this.points;
    }

    Витя, как же ты заебал уже со своими ебучими тернарками!

    Bullsquid, 11 Сентября 2017

    Комментарии (10)
  9. Куча / Говнокод #23280

    −5

    1. 1
    Никто не в курсе где сейчас  Clerk с wasm.

    tyrin, 18 Августа 2017

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

    0

    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
    internal static object CreateDefaultEqualityComparer(Type type)
            {
                Debug.Assert(type != null && type is RuntimeType);
    
                object result = null;
                var runtimeType = (RuntimeType)type;
    
                // Specialize for byte so Array.IndexOf is faster.
                if (type == typeof(byte))
                {
                    result = new ByteEqualityComparer();
                }
                // If T implements IEquatable<T> return a GenericEqualityComparer<T>
                else if (typeof(IEquatable<>).MakeGenericType(type).IsAssignableFrom(type))
                {
                    result = CreateInstanceForAnotherGenericParameter((RuntimeType)typeof(GenericEqualityComparer<int>), runtimeType);
                }
                // Nullable does not implement IEquatable<T?> directly because that would add an extra interface call per comparison.
                // Instead, it relies on EqualityComparer<T?>.Default to specialize for nullables and do the lifted comparisons if T implements IEquatable.
                else if (type.IsGenericType)
                {
                    if (type.GetGenericTypeDefinition() == typeof(Nullable<>))
                    {
                        result = TryCreateNullableEqualityComparer(runtimeType);
                    }
                }
                // The equality comparer for enums is specialized to avoid boxing.
                else if (type.IsEnum)
                {
                    result = TryCreateEnumEqualityComparer(runtimeType);
                }
                
                return result ?? CreateInstanceForAnotherGenericParameter((RuntimeType)typeof(ObjectEqualityComparer<object>), runtimeType);
            }

    Код взят из CoreCLR mscorlib сырцов.

    Внимание вопрос. Нахерна было писать эту обосгость когда данный метод легко делается генериком без какого либо вызова "невидимого" кода?

    вот пример как все должно было быть

    ```
    internal static object CreateDefaultEqualityComparer<T>()
    {
    // Specialize for byte so Array.IndexOf is faster.
    if (typeof(T) == typeof(byte))
    {
    result = new ByteEqualityComparer();
    }
    // If T implements IEquatable<T> return a GenericEqualityComparer<T>
    else if (typeof(IEquatable<T>).IsAssignableFrom( typeof(T)))
    {
    result new GenericEqualityComparer<T>();
    }
    // Nullable does not implement IEquatable<T?> directly because that would add an extra interface call per comparison.
    // Instead, it relies on EqualityComparer<T?>.Default to specialize for nullables and do the lifted comparisons if T implements IEquatable.
    else if (typeof(T).IsGenericType)
    {
    if (typeof(T).GetGenericTypeDefinition() == typeof(Nullable<>))
    {
    result = new NullableEqualityComparer<T>();
    }
    }
    // The equality comparer for enums is specialized to avoid boxing.
    else if (typeof(T).IsEnum)
    {
    result = TryCreateEnumEqualityComparer<T>();
    }

    return result ?? new ObjectEqualityComparer<T>();
    }
    ```

    ASD_77, 07 Августа 2017

    Комментарии (10)
  11. Python / Говнокод #23212

    0

    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
    35. 35
    36. 36
    a=int(input())
    b=int(input())
    c=int(input())
    d=int(input())
    x=a%2
    y=b%2
    z=c%2
    f=d%2
    if x==1 and y==1 and z==1 and f==1:
        print('YES')
    elif x==1 and y==1 and z==0 and f==0:
        print('YES')
    elif x==0 and y==0 and z==1 and f==1:
        print('YES')
    elif x==1 and y==0 and z==1 and f==0:
        print('YES')
    elif x==0 and y==1 and z==0 and f==1:
        print('YES')
    elif x==1 and y==1 and z==0 and f==1:
        print('NO')
    elif x==1 and y==1 and z==1 and f==0:
        print('NO')
    elif x==0 and y==0 and z==1 and f==0:
        print('NO')
    elif x==0 and y==0 and z==0 and f==1:
        print('NO')
    elif x==1 and y==0 and z==1 and f==1:
        print('NO')
    elif x==1 and y==0 and z==0 and f==1:
        print('YES')
    elif x==0 and y==1 and z==0 and f==0:
        print('NO')
    elif x==1 and y==0 and z==0 and f==1:
        print('YES')
    else: 
        print('YES')

    Откопал на Питонтьюторе.

    MaxLevs, 23 Июля 2017

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