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

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Функция ПолучитьЗначениеПеременной(Имя) Экспорт	
    	ИмяПараметраВР = ВРег(Имя);	
    	НайденноеЗначение = Неопределено;	
    	Кэш = Неопределено;
    	ПоместитьВКэш = Ложь;	
    	НайденноеЗначение = Неопределено;	
    	Если НайденноеЗначение = Неопределено Тогда
            //... 
            КонецЕсли;

    Типовая УПП, общий модуль "РаботаСОбщимиПеренменными". Интересно, а бывает ситуация когда после двух присвоений переменной значения, она все таки не неопределено

    FesenkoA, 25 Марта 2019

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

    +2

    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
    <script>
          qqq = 0;
            setInterval(function(){
                qqq++; 
                if ( qqq == 1 ) $('.qqq').text('.');  
                else if ( qqq == 2 ) $('.qqq').text('..');  
                else if ( qqq == 3 ) $('.qqq').text('...'); 
                else {
                    $('.qqq').empty(); 
                    qqq = 0;
                }
            },900);
       </script>

    Многоточия...
    Встретил случайно в одном из сайтов)

    fuckall, 21 Марта 2019

    Комментарии (46)
  4. Си / Говнокод #25458

    +2

    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
    #include <stdio.h>
    #include <math.h>
    
    #define SET(var, ...) typeof(__VA_ARGS__) var = __VA_ARGS__
    
    SET(p, &puts);
    struct point_t { double x, y; };
    SET(point, (struct point_t){0.0, 1.0});
    SET(anonymous, (struct{char *s;}){"hui"});
    
    int main(void)
    {
        static SET(msg, "Halo!");
        p(msg);
        SET(sqrt_of_2, sqrt(2));
        printf("√2 = %f\n", sqrt_of_2);
        return 0;
    }

    Автовывод типов в "C".

    MPA3b, 20 Марта 2019

    Комментарии (27)
  5. Python / Говнокод #25451

    +2

    1. 1
    int(data[:4][::-1].encode('hex'),16)

    Кто-то не знал про struct

    syoma, 16 Марта 2019

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

    +2

    1. 1
    2. 2
    error_logger:format("Cannot force master when other "
                                  "node is up and is not a forced slave",[]),

    Overriding leader election в случае disaster recovery это тот ещё BDSM.

    CHayT, 13 Марта 2019

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

    +2

    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
    #include <type_traits>
    
    struct Foo {
      void bar(int) const & {}
    };
    
    int main() {    
      using MethodPtr = decltype(&Foo::bar);
      const MethodPtr arr[] = { &Foo::bar };
      auto *ptr = &arr;
      auto &ref = ptr;
    
      static_assert(std::is_same_v<decltype(ref), void (Foo::* const (*&)[1])(int) const &>);
    }

    Магия указателей возведенная в степень магии массивов в степени магии ссылок.

    https://wandbox.org/permlink/8DygQ6oocrEY1K1M

    Elvenfighter, 11 Марта 2019

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

    +2

    1. 1
    $currentTask = Tasks::model()->findByPk($currentTask->id);

    Yii1. Ищет то, что уже имеет и у меня только 1 вопрос - что в голове у этой ТП?

    Diakon, 05 Марта 2019

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    enet_uint32 flags = 0;
    
    if (flags & CPacket::RELIABLE)
        flags |=ENET_PACKET_FLAG_RELIABLE;
    
    return enet_packet_create(data, (writer.Tell() + 7) / 8, flags);

    Братишка сделал одинаковые названия локальной переменной и поля в классе.

    tuxick, 03 Марта 2019

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    import ctypes, sys
    if ctypes.windll.shell32.IsUserAnAdmin():
        if __name__ == "__main__":
            main()
    else:
            ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)

    Ав тозапуск с пра вами адми нис тра тора
    Для авто запус ка мы будем исполь зовать сле дующий код:

    Те перь при попыт ке запус тить скрипт вызов будет передан на UAC (если акти‐
    вен) и откро ется новое окно тер минала, где наш код выпол нится от име ни
    адми нис тра тора.
    Ес ли такой вари ант не устра ивает, то всег да мож но вос поль зовать ся
    готовы ми решени ями.
    --------------
    Ксакеп. if __name__ == "__main__" не там стоит, автор не понял что это такое.

    syoma, 26 Февраля 2019

    Комментарии (46)
  11. C++ / Говнокод #25407

    +2

    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
    #include <tuple>
    #include <utility>
    #include <array>
    
    namespace detail {
    
    template <typename... Types, std::size_t... Indexes>
    auto make_array(const std::tuple<Types...> &t, std::index_sequence<Indexes...>) {
       using Tuple = std::tuple<Types...>;
       using ValueType = typename std::tuple_element<0, Tuple>::type;
       return std::array<ValueType, sizeof...(Types)>{ std::get<Indexes>(t)... };
    }
    
    template <typename Value>
    constexpr Value fib(std::size_t idx) {
      switch (idx) {
      case 0: return 1;
      case 1: return 1;
      default: return fib<Value>(idx - 1) + fib<Value>(idx - 1);
      }
    }
    }
    
    template <class... Args>
    auto to_array(const std::tuple<Args...> &t) {
      return detail::make_array(t, std::index_sequence_for<Args...>{});
    }
    
    template <typename Value, std::size_t size>
    class Fibonacci {
    public:
      constexpr auto as_array() const { return to_array(as_tuple()); }
     
      constexpr operator std::array<Value, size>() const { return as_array(); }
      
    private:
      template <std::size_t offset = 0> 
      constexpr auto as_tuple() const {
        return std::tuple_cat(std::tuple{detail::fib<Value>(offset)}, as_tuple<offset + 1>());
      }
      
      template <>
      constexpr auto as_tuple<size - 1>() const { return std::tuple{detail::fib<Value>(size - 1)}; }
    };
    
    int main() {
      std::array a = Fibonacci<int, 10>().as_array();
      return a[5];
    }

    По мотивам http://govnokod.ru/25401#comment460820. Правда на момент написания я прошляпил, что речь шла о "нельзя возвращать массив"ю

    Elvenfighter, 25 Февраля 2019

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