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

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

    +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
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    class MyEvents extends \Event\EventsHandler {
     static $key = 1;
     public function BeforeQuery() {
     Timer::start(self::$key);
     }
     public function AfterQuery() {
     Timer::step(self::$key++);
     if(Timer::$last['different'] > 1) {
     $debug_backtrace = debug_backtrace();
     foreach($debug_backtrace as $k=>$v) {
     if($v['function'] == 'q') {
     $error = "QUERY: ".$v['args'][0]."\n".
     "file: ".$v['file']."\n".				 
     "line: ".$v['line']."\n".
     "date: ".date("Y-m-d H:i:s")."\n".
     "===================================";		
     
     file_put_contents('./logs/slowquery.log',$error."\r\n",FILE_APPEND);
     break;
     }
     }
     }
     }
     public function ShutDownSystem() {
     echo microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
     }
    }
    Event::setEventHandler('MyEvents');
    q("SELECT * FROM `table` ORDER BY RAND()");
    q("SELECT NOW()");
    echo Timer::result();

    Измеряем время запросов и время загрузки страницы
    https://school-php.com/tricks/23/dokumentatsiya-po-fw

    6a6yuH, 07 Августа 2020

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    while (true) {
      if ($current === $requested) {
         break;
      }
      if (! in_array($requested, $available)) {
         break;
      }
      session()->put('locale', $requested);
      break;
    }

    Edd, 05 Августа 2020

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

    +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
    // Это означает что, например, поведение следующего кода не определено:
    
    fn cast(x: f32) -> u8 {
        x as u8
    }
    
    fn main() {
        let f = 300.0;
    
        let x = cast(f);
    
        println!("x: {}", x);
    }

    https://habr.com/ru/post/511546/
    > Это мы называем ошибкой «корректности» (ведь unsafe кода тут нет) — то есть ошибка, когда компилятор делает неправильные вещи. Мы отмечаем их в нашем трекере как I-unsound, и относимся к ним очень серьёзно.

    gost, 18 Июля 2020

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

    −5

    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
    Сегодня днем я познакомился с очень хорошей, умной собакой - она увязалась за мной, по пути с работы.
    Я шел по улице, а она бежала следом. Когда мы поравнялись, она подошла и тихонько скуля лизнула мне руку.
    -Кормить нечем, сказал я. Но видя ее печальные глаза, не устоял и сбегал в магазин за "краковской".
    В идели бы Вы жадность, с которой она была съедена!..
    Скоро мы дошли до дома, вместе зашли в лифт и поднялись на шестой этаж. 
    -Проходи, сказал я шепотом. Скоро цокот когтей смолк в полутьме. 
    Я вошел следом и только собрался включить свет, как кто-то прыгнул мне на грудь, сбивая с ног.
    Падая я почувствовал застилающий запах псины и вслед за этим кто-то стал бешенно облизывать и целовать моё лицо.
    -Успокойся, хватит, -сказал я раздраженно. В ответ невидимый "любовник" сердито зарычал и расстегнул на мне джинсы.
    Снова это волшебное прикосновение теплого, влажного языка... Я не мог сопротивляться. 
    Мой партнер ласкал меня весьма умело и скоро добился своего. Я бурно кончил, испачкав линолеум -  сперма была досуха вылизана. 
    Потом мы поменялись. Собака оказалась кобелем...
    Нащупав острую, влажную морковку я не раздумывая поместил ее себе в рот.  Я сосал, а собака покусывала мне соски.
    Наконец мы выбились из сил. Отдохнув, я включил свет и увидел, что собака долизывает остатки спермы.
    Вот так, а меня супруга импотентом называет. 
    
    Выгнал я жену, и стал жить с собакой.

    pdro116, 23 Мая 2020

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

    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
    #define DECLARE_TYPE(Name, Type) \
        using TYPE = Type; \
        ObjectInterface s_##Type##ObjectInterface (Name, []()->ObjectType* { return new Type;
    
    #define DECLARE_METHODS \
            }, {
    
    #define DECLARE_PROPERTIES \
            }, {
    
    #define DECLARE_METHOD(Method) \
            { #Method, reinterpret_cast <_ObjectMethodProc> (&TYPE::Method) },
    
    #define DECLARE_CUSTOM_NAME_METHOD(Name, Method) \
            { Name, reinterpret_cast <_ObjectMethodProc> (&TYPE::Method) },
    
    #define DECLARE_METHOD_MAPPER(_1,_2,DECLARE_METHOD,...) DECLARE_METHOD
    #define METHOD(...) DECLARE_METHOD_MAPPER(__VA_ARGS__, DECLARE_CUSTOM_NAME_METHOD, DECLARE_METHOD)(__VA_ARGS__)
    
    #define PROPERTY(Name, Get, Set) \
            { Name, { reinterpret_cast <_PropertyGettingProc> (&TYPE::Get), reinterpret_cast <_PropertySettingProc> (&TYPE::Set) } },
    
    #define END_DECLARE_TYPE \
            });

    ???

    codemonkey, 07 Мая 2020

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

    +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
    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
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    using System;
    using System.Runtime.Serialization;
    
    namespace MyCoolProject {
        internal sealed class CatastrophicException: Exception
        {
            private static bool dead = false;
            public static bool Dead { get { return dead; } }
            void RecurseDeath() {
                try {
                    RecurseDeath();
                } finally {
                    RecurseDeath();
                }
            }
            private void DIE() {
                dead = true;
                try {
                    Environment.FailFast("Catastrophic Exception!!!");
                } finally {
                    try {
                        RecurseDeath();
                    } finally {
                        throw this;
                    }
                }
            }
            public CatastrophicException() {
                DIE();
            }
            public sealed override string ToString() {
                DIE();
                throw this;
            }
            public sealed override System.Collections.IDictionary Data {
                get {
                    DIE();
                    throw this;
                }
            }
            public sealed override bool Equals(object obj) {
                DIE();
                throw this;
            }
            public sealed override Exception GetBaseException() {
                DIE();
                throw this;
            }
            public sealed override int GetHashCode() {
                DIE();
                throw this;
            }
            public sealed override string HelpLink {
                get {
                    DIE();
                    throw this;
                } set {
                    DIE();
                }
            }
            public sealed override string Message {
                get {
                    DIE();
                    throw this;
                }
            }
            public sealed override void GetObjectData(SerializationInfo info, StreamingContext context) {
                DIE();
            }
            public sealed override string Source {
                get {
                    DIE();
                    throw this;
                }
                set {
                    DIE();
                }
            }
            public sealed override string StackTrace {
                get {
                    DIE();
                    throw this;
                }
            }
            ~CatastrophicException() {
                try {
                    new CatastrophicException().DIE();
                } finally {
                    try {
                        new CatastrophicException().DIE();
                    } finally {
                        new CatastrophicException().DIE();
                    }
                }
            }
        }
    }

    Upliner, 11 Марта 2020

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public function update_balance()
    	{
    		$this->balance = $this->balance_at_end_of_day(time());
    	}
        
           public function balance_at_end_of_day($time)
    	{
    		return $this->balance_at_beginning_of_day($time + 24*60*60);
    	}

    когда окунулся в легаси

    alucas, 28 Января 2020

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

    0

    1. 1
    2. 2
    std::tuple<int, int, int, bool> cock;
    std::get<bool>(cock)

    Сначала не понимал нахуй нужен геттер по типу, но при очередном добавлении нового int и забытии поменять индекс у була, заюзал его.

    Бтв, почему нету cock.get<0>?

    AHCKuJlbHblu_nemyx, 06 Января 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Я был пионером, носил "звездочку" и красный галстук. За хорошие оценки меня выбрали почетным горнистом школьного звена - неслыханная честь, предмет зависти всех мальчишек.
    Это было очень торжественно, я волновался, ведь быть горнистом - очень большая ответственность.
    Помню, для того, чтобы купить горн, классная руководительница, которая была вдобавок ещё и завучем, даже поехала в город.
    И вот - я, держа в руках сияющую золотую фанфару с вентильком, я громоподобно играю сбор, ловя восхищенные взгляды мальчишек и особенно - нашей вожатой - нины.
    После уроков, восхищенная моей игрой, она часто приглашала меня к себе, под предлогом "позаниматься математикой". 
    Мы ложились под одеяло, где она, смачно причмокивая, долго дула в мою трубу, пока оба не выбивались из сил.

    ...

    MPA3uIII, 13 Декабря 2019

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    {{ order.type === '2' && order.orderAddress ?
                      ` ${$store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress) && $store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress)['a:StreetLine']._text ? $store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress)['a:StreetLine']._text : ''} ${$store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress) ? $store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress)['a:House']._text : ''}`
                    :
                    order.clientAddress
                    ?
                      ` ${$store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:SettlementName'] && $store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress) && $store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:SettlementName']._text ? $store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:SettlementName']._text + ',' : ''} ${$store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:StreetLine']._text} ${$store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:House']._text}`
                    :
                    '' }}

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

    jerk_thehuman, 08 Декабря 2019

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