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

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

    +164

    1. 1
    echo "Дней до освобождения: " . $freedays, "<br>";

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

    Khvorostin, 19 Сентября 2014

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

    +42

    1. 1
    if (sql->FieldByName("ID")->AsString > "0")

    bormand, 25 Июля 2014

    Комментарии (55)
  4. C# / Говнокод #16231

    +133

    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
    public class OctetString 
    {
            private byte[] m_bDataArray = null;
    
            public OctetString(byte[] data_i)
            {
                //copy input data
                m_bDataArray = new byte[data_i.Length];
                data_i.CopyTo(m_bDataArray, 0);
           }
    	
    	//...
    	//checks if a bit on a specfied position is set
    	public bool CheckIfBitOnPositionIsSet(int iPosition)
    	{
    		if (m_bDataArray.Length * 8 < iPosition)
    		{
    			return false;
    		}
    
    		int iByte = iPosition / 8;
    		
    		int iBit = iPosition % 8;
    
    		byte bData = m_bDataArray[iByte];
    
    		if((bData & (0x1 << iBit)) != 0)
    		{
    			return true;
    		}
    		else
    		{
    			return false;
    		}
    	}
    }
    
    
    byte[] data = { 0xFF, 0x3F };
    OctetString octetString = new OctetString(data);
    
    Assert.AreEqual(false, octetString.CheckIfBitOnPositionIsSet(8));

    Пащимуууу!!!
    Как можно упароцца так?
    m)

    blackhearted, 25 Июня 2014

    Комментарии (55)
  5. C++ / Говнокод #15953

    +17

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    auto mesh=mesh_loader.load("wall.x").
    map([](auto m){
      return m.SetPosition(0.f, 0.f, 0.f);
    }).map([=](auto m){
      return m.SetRotation(xr,yr,zr);
    }).map(::std::bind(&Mesh::SetSize, _1, 90, 60, 90)).
    map(&Mesh::RecalculateNormals);

    LispGovno, 10 Мая 2014

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public static string CapitalizeFirstLetter(this string s)
    {
        if (String.IsNullOrEmpty(s))
            throw new ArgumentException("Stirng is empty");
        return s.First().ToString().ToUpper() + String.Join("", s.Skip(1));
    }

    не ищем легких путей

    baks, 07 Мая 2014

    Комментарии (55)
  7. Java / Говнокод #15460

    +84

    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
    private final public static volatile transient synchronized protected InterceptorSingletonVisitor interceptorSingletonVisitor(AbstractDecoratorStrategyProxyObserverInterceptorBuilder abstractDecoratorStrategyProxyObserverInterceptorBuilder, AbstractVisitorAdvisorFacadeListener abstractVisitorAdvisorFacadeListener, VisitorFactoryFactoryBuilder visitorFactoryFactoryBuilder, VisitorProxyFacadeFactoryFactorySingletonAdvisorDecorator visitorProxyFacadeFactoryFactorySingletonAdvisorDecorator, AbstractAdvisorBuilderDecoratorInterceptor abstractAdvisorBuilderDecoratorInterceptor) {
    AbstractProxyAdvisor abstractProxyAdvisor = abstractFactoryFactoryDecorator.getListenerInterceptorFactoryFactory().getAbstractProxyAdvisor();
    AbstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory abstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory = new AbstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory();
    abstractBeanAdvisorSingletonInterceptor.setAbstractFactoryFactoryAdvisorFacadeStrategy(this.abstractFactoryFactoryAdvisorFacadeStrategy);
    AbstractAdvisorProxyStrategyIteratorVisitorObserver abstractAdvisorProxyStrategyIteratorVisitorObserver = new AbstractAdvisorProxyStrategyIteratorVisitorObserver();
    
    if(abstractSingletonFacadeFactoryObserver.isInterceptorListenerFacade()) {
    iteratorProxyListenerFacadeBean.setAbstractStrategyBean(this.abstractStrategyBean);
    AbstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor abstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor = abstractBeanInterceptorIteratorListenerFactoryFactoryStrategyProxyObserver.getAbstractObserverFacadeListenerSingletonProxyAdvisorStrategyVisitor().getAbstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor();
    abstractProxyBuilderVisitorSingleton.setIteratorAdvisorProxySingletonAdapter(this.iteratorAdvisorProxySingletonAdapter);
    
    if(abstractDecoratorAdapterVisitorProxyObserverIteratorBuilderFactory.isDecoratorFactoryFactoryFacade()) {
    visitorIteratorObserverProxyAdvisor.setAbstractObserverSingletonProxyAdvisorBuilderDecorator(this.abstractObserverSingletonProxyAdvisorBuilderDecorator);
    singletonFacadeAdapterListenerFactory.setAbstractIteratorInterceptorSingletonListenerAdvisorDecoratorBuilderFactoryFactory(this.abstractIteratorInterceptorSingletonListenerAdvisorDecoratorBuilderFactoryFactory);
    
    while(abstractFactoryAdapterSingletonFactoryFactory.isAbstractStrategyFactory()) {
    abstractAdapterBeanStrategySingletonAdvisorBuilderListenerFactory.setAbstractStrategyFactoryFactoryFacadeBuilderFactoryIteratorProxyObserver(this.abstractStrategyFactoryFactoryFacadeBuilderFactoryIteratorProxyObserver);
    abstractObserverAdapterFactoryFacadeDecoratorBuilderInterceptorFactoryFactory.setAdvisorIteratorFactoryProxyDecorator(this.advisorIteratorFactoryProxyDecorator);
    
    while(abstractFacadeListenerStrategyIteratorAdvisorSingletonProxyObserver.isVisitorDecoratorInterceptorIteratorAdapter()) {
    abstractProxyAdapterInterceptorObserverFactoryFactoryIterator.setSingletonFactoryFactoryProxyIteratorStrategy(this.singletonFactoryFactoryProxyIteratorStrategy);
    singletonInterceptorDecorator.setAbstractFactoryFactoryListenerBuilderAdvisorDecoratorFacade(this.abstractFactoryFactoryListenerBuilderAdvisorDecoratorFacade);
    visitorFactoryFactoryAdapterIteratorInterceptor.setAbstractIteratorVisitor(this.abstractIteratorVisitor);
    }
    }
    } else {
    abstractListenerInterceptorStrategyVisitorBeanFactorySingletonIterator.setAbstractProxyStrategy(this.abstractProxyStrategy);
    abstractProxyInterceptorSingletonFactoryFactory.setAbstractSingletonIterator(this.abstractSingletonIterator);
    }
    } else {
    singletonListenerFactoryFactoryIteratorProxy.setAbstractObserverProxyIteratorVisitor(this.abstractObserverProxyIteratorVisitor);
    }
    
    return new InterceptorSingletonVisitor();
    }

    laMer007, 13 Марта 2014

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

    −102

    1. 1
    is_zipped = not request.args.get('is_zipped', "false") == "false"

    >>> bool("false")
    True
    >>> bool("False")
    True
    почему бы не сделать их ложью

    orion, 12 Марта 2014

    Комментарии (55)
  9. PHP / Говнокод #13965

    +142

    1. 1
    2. 2
    3. 3
    function anal_display()
      {
    ....

    bigsmile, 17 Октября 2013

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

    +74

    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
    public class Encoder {
    	public static void encode(final OutputStream out, Node node) throws IOException {
    		node.accept(new NodeVisitor() {
    			@Override
    			public void string(StringNode node) {
    				byte[] value = node.toByteArray();
    				out.write(Integer.toString(value.length).getBytes(Constants.CHARSET));
    				out.write(':');
    				out.write(value);
    			}
                            // ... другие методы для других типов нод ...
                    }
            }
    }

    Решил поменять в паре-тройке модулей пачки ифов на паттерн visitor... И получил пинка от жабы ;(

    write() кидает IOException, а значит и метод string() в анонимном классе тоже должен кидать, и метод string() в интерфейсе NodeVisitor тоже... Но ведь соседним посетителям этот IOException нахер не сдался...

    Checked exceptions - зло.

    bormand, 12 Октября 2013

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

    +32

    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
    #include <iostream>
     
    void f(char c)          { std::cout << "f(char)" << std::endl; }
    void f(signed char c)   { std::cout << "f(signed char)" << std::endl; }
    void f(unsigned char c) { std::cout << "f(unsigned char)" << std::endl; }
     
    int main()
    {
            f('a');
            f((signed char)('a'));
            f((unsigned char)('a'));
            return 0;
    }

    илитный ресурс сегодня мне раскрыл глаза на очередное крестоблядство керниган-гай-ричи-блядство:
    с:
    The implementation shall define char to have the same range, representation, and behavior as either signed char or unsigned char.
    Irrespective of the choice made, char is a separate type from the other two and is not compatible with either.
    с++:
    Characters can be explicitly declared unsigned or signed. Plain char, signed char, and unsigned char are three distinct types.

    defecate-plusplus, 08 Октября 2012

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