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

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

    +49

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $em = $this->getDoctrine()->getEntityManager();
    $user = $em->getRepository('AdminBundle:AdminUser')
            ->findOneById($id);
    if ($user == $this->get('security.context')->getToken()->getUser()) {
            $this->get('session')->setFlash('admin-delete', 'TODO:TRANSLATE: Suicide is not allowed. Thank you!');
    } else {
            $em->remove($user);
            $em->flush();
            $this->get('session')->setFlash('admin-delete', 'TODO:TRANSLATE: User ' . $user->getEmail(). ' was deleted.');
    }

    Текст ошибок просто супер!

    EugeneC, 05 Сентября 2012

    Комментарии (35)
  3. Куча / Говнокод #11700

    +121

    1. 1
    2. 2
    3. 3
    4. 4
    ignore(MainForm.g.Items.Add
    			(
    				if(! $['A'..'Z'].Concat($['а'..'я']).Concat($['А'..'Я']).Concat($['a'..'z']).Contains(tok[0])) $"#$code" else tok
    			));

    LispGovno, 04 Сентября 2012

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

    +38

    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
    const NMath::TLineEquation<> C_E_(C_, E_);
    		const NMath::TLineEquation<> D_A_(D_, A_);
    		const NMath::TVector<2> F_=C_E_.Intersection(D_A_);
    		TSafeFloat lpr=_state._safeDistance->Value()+_state._instrumentRadius->Value();
    		if((F_-B).Length()>lpr)
    		{
    			const NMath::TVector<2> F__=(D_+E_)/2.0;//F
    			//...
    			const NMath::TVector<2> TV=D_-E_;
    			const NMath::TVector<2> F___=PointAtDistance(B,TV,lpr, m90);//F*
    			const NMath::TVector<2> DEDir=rt90(F___-B, m90).Normalize()*10;
    			const NMath::TLineEquation<> DE(F___,F___+DEDir);
    			const NMath::TVector<2> E=DE.Intersection(C_E_);
    			const NMath::TVector<2> D=DE.Intersection(D_A_);
    			TpointerAnyCommand result;
    			result=new TLineCommand(CurrentCommand.SourceCommand(),E-C_,OnOffCorrectionEmpty);
    			_resultDestination.push(result);
    			result=new TLineCommand(CurrentCommand.SourceCommand(),D-E,OnOffCorrectionEmpty);
    			_resultDestination.push(result);
    			result=new TLineCommand(CurrentCommand.SourceCommand(),D_-D,OnOffCorrectionEmpty);
    			_resultDestination.push(result);
    		}

    Говногость, 20 Августа 2012

    Комментарии (35)
  5. Java / Говнокод #11545

    +70

    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
    public static class TrollException extends RuntimeException {
            @Override
            public String getMessage() {
                throw new TrollException();
            }
    
            @Override
            public String getLocalizedMessage() {
                throw new TrollException();
            }
    
            @Override
            public Throwable getCause() {
                throw new TrollException();
            }
    
            @Override
            public synchronized Throwable initCause(Throwable cause) {
                throw new TrollException();
            }
    
            @Override
            public String toString() {
                throw new TrollException();
            }
    
            @Override
            public void printStackTrace() {
                throw new TrollException();
            }
    
            @Override
            public void printStackTrace(PrintStream s) {
                throw new TrollException();
            }
    
            @Override
            public void printStackTrace(PrintWriter s) {
                throw new TrollException();
            }
    
            @Override
            public synchronized Throwable fillInStackTrace() {
                throw new TrollException();
            }
    
            @Override
            public StackTraceElement[] getStackTrace() {
                throw new TrollException();
            }
    
            @Override
            public void setStackTrace(StackTraceElement[] stackTrace) {
                throw new TrollException();
            }
        }

    kadavrrr, 06 Августа 2012

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

    +129

    1. 1
    return GetByteArray((Object)obj);

    На всякий случай.

    Em1ss1oN, 10 Июля 2012

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

    +65

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if ($_GET['where'] != '') {
    	if ($_GET['where'] != '') {
    		die ("<meta http-equiv='refresh' content='0; url=".$page."?where=".$_GET['where']."'>");
    	} else {
    		die ("<meta http-equiv='refresh' content='0; url=".$page."?pid=".$_GET['pid']."'>");
    	}
    } else {
    	die ("<meta http-equiv='refresh' content='0; url=".$page."?pid=".$_GET['pid']."'>");
    }

    Интересно, в каком случае выполнится второй die()?

    domaster, 27 Июня 2012

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

    +71

    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
    # Разбор time()
    function GetTime( $time ) {
    	
    	# Получение массива из элементов даты
    	$time = getdate( $time );
    	
    	# Все элементы с ведущими нулями
    	$d = ( $time['mday'] > 9 ) ? $time['mday'] : '0' . $time['mday'];
    	$w = ( $time['mon'] > 9 ) ? $time['mon'] : '0' . $time['mon'];
    	$y = $time['year'];
    	$h = ( $time['hours'] > 9 ) ? $time['hours'] : '0' . $time['hours'];
    	$m = ( $time['minutes'] > 9 ) ? $time['minutes'] : '0' . $time['minutes'];
    	$s = ( $time['seconds'] > 9 ) ? $time['seconds'] : '0' . $time['seconds'];
    	
    	# Сборка и возврат результата
    	return $d . '/' . $w . '/' . $y . '&nbsp;' . $h . ':' . $m . ':' . $s;
    }

    Про date() явно не в курсе...

    nethak, 27 Июня 2012

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

    +994

    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
    template< typename _Data >
    void 
    Foo< _Data >::deduceNumberOfSignificant( _Data _field )
    {
    	switch( sizeof( _Data ) )
    	{
    	case sizeof( field32 ):
    		m_significantNumber = 7;
    		break;
    	case sizeof( field64 ):
    		m_significantNumber = 16;
    		break;
    	case sizeof( field128 ):
    		m_significantNumber = 34;
    		break;
    	default:
    		BOOST_ASSERT( "Improper field size" );
    	}
    }

    kiry, 30 Января 2012

    Комментарии (35)
  10. Pascal / Говнокод #9156

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // строка добавлена, чтобы сраный парсер говнокода не сжирал пробелы, этого в коде не было
                  end;
                end;
              end;
            end;
          end;
        end;

    Увидел в своём коде.
    Очень сложный алгоритм.

    TarasB, 18 Января 2012

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    private static final BigDecimal $150 = BigDecimal.valueOf(150);
    private static final BigDecimal $500 = BigDecimal.valueOf(500);
    private static final BigDecimal $751 = BigDecimal.valueOf(751);
    
    // rule example
    all(
        paymentOfType(COMPREHENSIVE, greaterOrEqual($500)),
        noPaymentsButComprehensive
    ).mapTo(result(ACTIVITY_TYPE_ACC, COMPREHENSIVE_OVER_500))

    Код мой. Есть таблица правил (в Excel), по которой нужно классифицировать некие объекты. Все правила собраны в одном классе и представляют из себя конструкции наподобие той, что в топике.
    У меня с остальной частью команды возник конфликт по поводу наименования констант: все считают, что называть константы как $500 - сущее зло, а правильно называть MAX_AMOUNT_FOR_COMP_OVER_500. Я считаю, что $500 - это 500 долларов, блеать, а константа нужна только в одном месте и для читаемости. Мне по сути пофигу, как называется константа, интересно узнать ваше мнение.
    наболело

    roman-kashitsyn, 15 Декабря 2011

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