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

    В номинации:
    За время:
  2. Куча / Говнокод #25722

    0

    1. 1
    2. 2
    Vistefan, пойдёшь дядьку навестить?
    https://habr.com/ru/company/jugru/blog/455936/

    BoeHHblu_nemyx, 16 Июля 2019

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

    −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
    + (NSString*)enumToString:(SomeEnum)someEnumValue
    {
    	NSDictionary *strings =
    	@{
    		@(SomeEnumUndefined) : @"Undefined",
    		@(SomeEnumValue1) : @"Value1",
    		@(SomeEnumValue2) : @"Value2",
    		// Ещё 100500 пар
    	};
    
    	return strings[@(someEnumValue)];
    }

    Имена изменены, но смысл понятен. Точнее, непонятен.

    Desktop, 14 Апреля 2018

    Комментарии (82)
  4. PHP / Говнокод #20303

    +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
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    $query_list_builder = array(
    	'1000' => " and account = $account_id and creator = $creator_id",
    	'0100' => " and account = $account_id and salepoint = $salepoint_id and creator <> $creator_id ",
    	'0010' => " and account = $account_id and creator <> $creator_id and salepoint <> $salepoint_id ",
    	'0001' => " and account IN ($watchlist) and creator <> $creator_id and salepoint <> $salepoint_id and account <> $account_id ",
    
    	'1100' => " and salepoint = $salepoint_id or creator = $creator_id and account = $account_id ",
    	'1010' => " and account = $account_id and salepoint <> $salepoint_id or creator = $creator_id ",
    	'1001' => " and account IN ($watchlist) and account <> $account_id or creator = $creator_id ",
    
    	'1110' => " and account = $account_id or creator = $creator_id and salepoint = $salepoint_id ",
    	'1101' => " and account IN ($watchlist) and account <> $account_id or creator = $creator_id or salepoint = $salepoint_id ",
    
    	'1111' => " and account IN ($watchlist) or account = $account_id or creator = $creator_id or salepoint = $salepoint_id ",
    	'0000' => " and creator <> $creator_id and salepoint <> $salepoint_id and account NOT IN ($watchlist) ",
    
    	'0011' => " and account IN ($watchlist) and salepoint <> $salepoint_id and creator <> $creator_id ",
    	'0111' => " and account IN ($watchlist) and creator <> $creator_id ",
    	'0110' => " and account = $account_id and creator <> $creator_id ",
    	'0101' => " and account IN ($watchlist) and account <> $account_id or salepoint = $salepoint_id and creator <> $creator_id ",
    	'1011' => " and account IN ($watchlist) and salepoint <> $salepoint_id or creator = $creator_id ",
    );

    daniser, 30 Июня 2016

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

    +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
    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
    op =: (*&_1@|.@],[)/
    do =:  >:@>@{. ; op@>@{:
    check =: *./@(>:&0)*.*./@(2&(</\))
    ((,do@{:)`]@.(check@>@{:@{:))^:_ (,: do)0&;(i. 36)
    
    
    ┌──┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
    │0 │0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35                                   │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │1 │_1 _3 _5 _7 _9 _11 _13 _15 _17 _19 _21 _23 _25 _27 _29 _31 _33 _35 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0                 │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │2 │3 7 11 15 19 23 27 31 35 _32 _28 _24 _20 _16 _12 _8 _4 0 2 6 10 14 18 22 26 30 34 _33 _29 _25 _21 _17 _13 _9 _5 _1                  │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │3 │_7 _15 _23 _31 32 24 16 8 0 _6 _14 _22 _30 33 25 17 9 1 _5 _13 _21 _29 34 26 18 10 2 _4 _12 _20 _28 35 27 19 11 3                   │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │4 │15 31 _24 _8 6 22 _33 _17 _1 13 29 _26 _10 4 20 _35 _19 _3 11 27 _28 _12 2 18 34 _21 _5 9 25 _30 _14 0 16 32 _23 _7                 │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │5 │_31 8 _22 17 _13 26 _4 35 3 _27 12 _18 21 _9 30 0 _32 7 _23 16 _14 25 _5 34 2 _28 11 _19 20 _10 29 _1 _33 6 _24 15                  │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │6 │_8 _17 _26 _35 27 18 9 0 _7 _16 _25 _34 28 19 10 1 _6 _15 _24 _33 29 20 11 2 _5 _14 _23 _32 30 21 12 3 _4 _13 _22 _31               │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │7 │17 35 _18 0 16 34 _19 _1 15 33 _20 _2 14 32 _21 _3 13 31 _22 _4 12 30 _23 _5 11 29 _24 _6 10 28 _25 _7 9 27 _26 _8                  │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │8 │_35 0 _34 1 _33 2 _32 3 _31 4 _30 5 _29 6 _28 7 _27 8 _26 9 _25 10 _24 11 _23 12 _22 13 _21 14 _20 15 _19 16 _18 17                 │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │9 │0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 _30 _31 _32 _33 _34 _35│
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │10│1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 _34 _32 _30 _28 _26 _24 _22 _20 _18 _16 _14 _12 _10 _8 _6 _4 _2 0                  │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │11│_3 _7 _11 _15 _19 _23 _27 _31 _35 32 28 24 20 16 12 8 4 0 _2 _6 _10 _14 _18 _22 _26 _30 _34 33 29 25 21 17 13 9 5 1                 │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │12│7 15 23 31 _32 _24 _16 _8 0 6 14 22 30 _33 _25 _17 _9 _1 5 13 21 29 _34 _26 _18 _10 _2 4 12 20 28 _35 _27 _19 _11 _3                │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │13│_15 _31 24 8 _6 _22 33 17 1 _13 _29 26 10 _4 _20 35 19 3 _11 _27 28 12 _2 _18 _34 21 5 _9 _25 30 14 0 _16 _32 23 7                  │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │14│31 _8 22 _17 13 _26 4 _35 _3 27 _12 18 _21 9 _30 0 32 _7 23 _16 14 _25 5 _34 _2 28 _11 19 _20 10 _29 1 33 _6 24 _15                 │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │15│8 17 26 35 _27 _18 _9 0 7 16 25 34 _28 _19 _10 _1 6 15 24 33 _29 _20 _11 _2 5 14 23 32 _30 _21 _12 _3 4 13 22 31                    │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │16│_17 _35 18 0 _16 _34 19 1 _15 _33 20 2 _14 _32 21 3 _13 _31 22 4 _12 _30 23 5 _11 _29 24 6 _10 _28 25 7 _9 _27 26 8                 │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │17│35 0 34 _1 33 _2 32 _3 31 _4 30 _5 29 _6 28 _7 27 _8 26 _9 25 _10 24 _11 23 _12 22 _13 21 _14 20 _15 19 _16 18 _17                  │
    ├──┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
    │18│0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35                                   │
    └──┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

    В общем суть такова...

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

    И тут я подумал - а сколько раз нужно проделать такие манипуляции что бы колода вернулась в исходное состояние? - открыл j, и...

    kegdan, 03 Мая 2016

    Комментарии (82)
  6. PHP / Говнокод #15808

    +157

    1. 1
    setcookie('password', $passHash , time() + $this::TIME_COOKIE * 1000 +  $remember ? $this::TIME_COOKIE_REMEMBER : 0  * 1000 );

    И я то думал, почему кука не появляется...

    Dart_Sergius, 21 Апреля 2014

    Комментарии (82)
  7. Python / Говнокод #14505

    −99

    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
    for i in range(0,len(m)):
        if i==0:
            f=False
            s += x[m[i]]
        else:
            if i==len(m)-1:
                if not f:
                    f=False
                    s += ',' + x[m[i]]
                else:
                    f=False
                    s += x[m[i]]
                break
            else:
                if m[i]-m[i-1]==1:
                    if m[i+1]-m[i]==1:
                        if not f:
                            f=True
                            s += '-'
                            continue
                        else:
                            continue
                    else:
                        if not f:
                            f=False
                            s += ',' + x[m[i]]
                        else:
                            f=False
                            s += x[m[i]]
                else:
                    f=False
                    s += ','+x[m[i]]

    Была задача: на вход(m) подается массив чисел, например [1,3,5,6,7], а на выходе получаем человекочитаемую строку(s) "пн,ср,пт-вс"
    Вышло такое из меня пару месяцев назад, теперь я никогда не смогу в нем разобраться х_х

    MAaxim91, 05 Февраля 2014

    Комментарии (82)
  8. Python / Говнокод #13688

    −92

    1. 1
    a < 5 and a or 5

    Вы все еще думаете, что сочетание and'а и or'а это тернарник? Тогда мы идем к вам :)

    http://ideone.com/qC0TyS

    bormand, 28 Августа 2013

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

    +125

    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
    //сервер сайд (из colors.php)
    
    $colors = [
        'banana'   => 'yellow',
        'orange'   => 'orange',
        'cucumber' => 'green'
    ];
    
    echo $colors[$_GET['fruit']];
    
    
    //клиент сайд (js)
    var fruits = ['banana', 'orange', 'cucumber']
    for (var i in fruits) {
        var fruit = fruits[i]
        $.get('colors.php?fruit='+fruit, function(color){
            document.write(fruit +' is '+ color +'<br/>')
        })
    }

    Этот код показывают и задают вопрос почти на любом собеседовании на должность web-программита:
    Что здесь неверно и как это исправить?

    LispGovno, 02 Марта 2013

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

    +95

    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
    // same as Callable but without exception
    public interface  Executable<T>
    {
     	public T call();
    }
    /*В другом классе: методы для конверсии туда-сюда */
    	public Callable<T> toCallable(final Executable<T> ex){
     		return new Callable<T>(){
    			public T call() throws Exception{
    				return ex.call();
    			}
    		};
    	}
    	public Executable<T> toExecutable(final Callable<T> c)
     	{
     		return new Executable<T>(){
    			public T call(){
    		 		try{
    					return c.call();
    				}catch (Exception e){
    					throw new RuntimeException(e);
    				}
    			}
    		};
    	}

    3.14159265, 11 Июня 2012

    Комментарии (82)
  11. Java / Говнокод #7587

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    @Override
        public ResponseBag[] send(SmsBag[] smsBag) {
            ArrayList<ResponseBag> responseList = new ArrayList<ResponseBag>();
            for(SmsBag bag : smsBag) {
                responseList.add(super.send(bag));
            }
            ResponseBag[] responseBag = new ResponseBag[responseList.size()];
            return responseList.toArray(responseBag);
        }

    manyrus, 18 Августа 2011

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