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

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

    +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
    private bool IsOsTurn()
    {
        if (turn.Text.Equals(oString))
            return true;
        return false;
    }
    
    private bool ADiagonalIsSame()
    {
        if (LeftToRightDiagonalIsSame()) { return true; }
        if (RightToLeftDiagonalIsSame()) { return true; }
        return false;
    }
    
    private bool IsAWin()
    {
        if (ARowIsSame() || AColumnIsSame() || ADiagonalIsSame())
            return true;
        else return false;
    }

    Взято из кода "крестики-нолики", работающем через DataGridView // <- да, это изврат!
    Такое чувство, что автор сука не умеет работать с булевыми значениями.
    Удивлен, что не встретил что-то вроде:

    if (turn.Text.Equals(oString) == true)

    groser, 28 Марта 2019

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

    +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
    using big = System.Numerics.BigInteger;
    class Mega
    {
        readonly static Type
            _dbl = typeof(double),
            _str = typeof(string),
            _chr = typeof(char),
            _int = typeof(int),
            _big = typeof(big);
        object o;
        public Mega(object O) => o = O;
        public static Mega operator +(Mega a, Mega b) {
            Type ta = a.o.GetType(), tb = b.o.GetType();
            if (ta == _str || tb == _str)
                return new Mega(String.Concat(a.o, b.o));
            if (ta == _dbl) {
                if (tb == _dbl) return new Mega((double)a.o + (double)b.o);
                if (tb == _chr) return new Mega((double)a.o + (char)b.o);
                if (tb == _int) return new Mega((double)a.o + (int)b.o);
            } if (tb == _dbl) {
                if (ta == _chr) return new Mega((char)a.o + (double)b.o);
                if (ta == _int) return new Mega((int)a.o + (double)b.o);
            } if (ta == _int) {
                if (tb == _chr) return new Mega((int)a.o + (char)b.o);
                if (tb == _int) return new Mega((int)a.o + (int)b.o);
                if (tb == _big) return new Mega((int)a.o + (big)b.o);
            } if (ta == _big) {
                if (tb == _chr) return new Mega((big)a.o + (char)b.o);
                if (tb == _int) return new Mega((big)a.o + (int)b.o);
                if (tb == _big) return new Mega((big)a.o + (big)b.o);
            } if (ta == _chr) {
                if (tb == _chr) return new Mega((char)((char)a.o + (char)b.o));
                if (tb == _int) return new Mega((char)a.o + (int)b.o);
            } throw new Exception("bad operators types");
        } public override string ToString() => o.ToString();
    }

    "Некий класс Mega подразумевает совместную работу нескольких типов в одной оболочке."
    // другие операторы и методы такие же, не стал копировать

    groser, 25 Марта 2019

    Комментарии (2)
  4. 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)
  5. 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)
  6. Си / Говнокод #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)
  7. Python / Говнокод #25451

    +2

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

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

    syoma, 16 Марта 2019

    Комментарии (85)
  8. Куча / Говнокод #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)
  9. 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)
  10. PHP / Говнокод #25427

    +2

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

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

    Diakon, 05 Марта 2019

    Комментарии (12)
  11. 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)