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

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    function someFunction(t) {
        var y="$('#elementID').find('input[type=\"text\"]:eq(", z=")').focus()", x=")').val()==''";
        setTimeout("( "+y+"0"+x+" )? ( "+y+"0"+z+" ):( ( "+y+"1"+x+" )? ( "+y+"1"+z+" ):( "+y+"2"+z+" ) );", t);
    }

    это какое-то нечто

    bot, 25 Апреля 2012

    Комментарии (3)
  3. Java / Говнокод #10033

    +132

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // Asynchronously load the DXF.
    // While we're doing that, the data can change, so we should guard against it.
    new WebappResourceLoader().loadResource(ResourceType.DXF, sDxfName + ".dxf",
    	new ResourceCallback<List<String>>() {
    		@Override
    		public void onSuccess(final List<String> result) {
    			if (!sDxfName.equals(dxfToLoad)) {
    				// Too slow, dude.
    				return;
    			}

    someone, 25 Апреля 2012

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

    +100

    1. 1
    2. 2
    3. 3
    if ($node->title == 'Главная страница' || $node->title == 'Home')
    {print '<img src="sites/all/themes/them/images/stock.png" />';
    }

    Говнокод по Drupal-овски.
    Найден в шаблоне page.tpl.php

    Dishvola, 23 Апреля 2012

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

    −98

    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
    # TODO: fix this hell
    def pretty_print(w, p):
        w = truncate(w)
        p = truncate(p)
        my_matrix = zip(p, w)
        print  "\n".join(["\t\t".join(["\t".join(map(str, r)) for r in t]) for t in my_matrix])        
    
    # TODO: and this
    def truncate(m):
        for i in range(len(m)):
            for j in range(len(m[0])):
                if(len(str(m[i][j])) > 5):
                    m[i][j] = "%.3f" % m[i][j]
        return m

    catcall, 22 Апреля 2012

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

    +105

    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
    public static bool IpCheck(String ip)
            {
                String [] octs = ip.Split(new char[] { '.' });
    
                try
                {
    
                    for (int n = 0; n < 4; n++)
                    {
                        byte b = Convert.ToByte(octs[n]);
                    }
    
                    return true;
                }
                catch (Exception)
                {
                    return false;
                }
            }

    Индуский валидатор IP - адреса

    dens, 21 Апреля 2012

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

    +150

    1. 1
    2. 2
    $pbl = sscanf($object->getModifiedAt(), '%d-%d-%d %d:%d:%d');
    $this->is_new = ( time() - mktime($pbl[3],$pbl[4],$pbl[5],$pbl[1],$pbl[2],$pbl[0]) ) < 86400;

    u4n, 20 Апреля 2012

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

    +145

    1. 1
    strpos(rtrim($_SERVER['HTTP_REFERER'], '/').'/', Router::GetPath('registration'))

    Мои глаза кровоточат.

    nkarakin, 19 Апреля 2012

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

    +110

    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
    public  Operation.OperationStatus   OperState
            {
                get { return fOperState; }
                set
                {
                    fOperState  =   value;
                    // Надписи кнопок смены статуса
                    TOperation.TOperationState  
                        OperationState  =   TOperation.OperationState(value);
                    btnOldState.Text    =   OperationState.OldName;
                    btnNewState.Text    =   OperationState.NewName;
                    // Видимость кнопок смены статуса
                    switch (value)
                    {
                        case Operation.OperationStatus.New          :
                            btnOldState.Visible =   OperationState.OldName.Length > 0 && !ReadOnlyMode;
                            btnNewState.Visible =   OperationState.NewName.Length > 0 && OwnerOper.AccessInput && !ReadOnlyMode;
                            break;
    
                        case Operation.OperationStatus.DataInput    :
                            btnOldState.Visible =   OperationState.OldName.Length > 0 && OwnerOper.AccessInput && !ReadOnlyMode;
                            btnNewState.Visible =   OperationState.NewName.Length > 0 && OwnerOper.AccessCheck && !ReadOnlyMode;
                            break;
    
                        case Operation.OperationStatus.DataCheck    :
                            btnOldState.Visible =   OperationState.OldName.Length > 0 && OwnerOper.AccessCheck && !ReadOnlyMode;
                            btnNewState.Visible =   OperationState.NewName.Length > 0 && OwnerOper.AccessConfirm && !ReadOnlyMode;
                            break;
    
                        case Operation.OperationStatus.Closed       :
                            btnOldState.Visible =   OperationState.OldName.Length > 0 && OwnerOper.AccessConfirm && !ReadOnlyMode;
                            btnNewState.Visible =   OperationState.NewName.Length > 0 && !ReadOnlyMode;
                            break;
                    }
                }
            }
    public  static  TOperationState OperationState(Operation.OperationStatus pState)
            {
                TOperationState Result  =   new TOperationState();
                switch (pState)
                {
                    case Operation.OperationStatus.New          :
                        Result.OldName  =   "";
                        Result.NewName  =   "Данные введены";
                        break;
                    case Operation.OperationStatus.DataInput    :
                        Result.OldName  =   "Отменить \"Данные введены\"";
                        Result.NewName  =   "Данные проверены";
                        break;
                    case Operation.OperationStatus.DataCheck    :
                        Result.OldName  =   "Отменить \"Данные проверены\"";
                        Result.NewName  =   "Завершена";
                        break;
                    case Operation.OperationStatus.Closed       :
                        Result.OldName  =   "Отменить \"Завершена\"";
                        Result.NewName  =   "";
                        break;
                }
                return Result;
            }

    Не прям штобы очень, но шоколад есть...

    gcoder, 18 Апреля 2012

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

    +154

    1. 1
    $explodeSize = explode( '-', str_replace( "\x20", '', trim( $sizes[0] ) ) );

    Не, ну надо было додуматься еще и str_replace туда запихать)

    psycho-coder, 12 Апреля 2012

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

    +110

    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
    public abstract class AbstractSegment<P extends Number, V extends IOffsettable<P, V>,
    		U extends AbstractSegment<P, V, U>> implements IOffsettable<P, U>, Iterable<V>, Serializable {
    	...
    	
    	protected final List<V> offsetHelper(final P dx, final P dy) {
    		return Lists.transform(points, new Function<V, V>() {
    			@Override
    			public V apply(final V input) {
    				return input.offset(dx, dy);
    			}
    		});
    	}
    
    
    
    public final class FloatSegment extends AbstractSegment<Float, FloatPoint, FloatSegment> {
    	...
    	@Override
    	public FloatSegment offset(final Float dx, final Float dy) {
    		return new FloatSegment(offsetHelper(dx, dy));
    	}
    }

    someone, 11 Апреля 2012

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