1. PHP / Говнокод #11986

    +53

    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
    protected function CreateClass($className, $params) {
    		switch (count($params)) {
    			case 0:
    				return new $className();
    				break;
    			case 1:
    				return new $className($params[0]);
    				break;
    			case 2:
    				return new $className($params[0], $params[1]);
    				break;
    			case 3:
    				return new $className($params[0], $params[1], $params[2]);
    				break;
    			case 4:
    				return new $className($params[0], $params[1], $params[2], $params[3]);
    				break;
    			case 5:
    				return new $className($params[0], $params[1], $params[2], $params[3], $params[4]);
    				break;
    			case 6:
    				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5]);
    				break;
    			case 7:
    				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6]);
    				break;
    			case 8:
    				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7]);
    				break;
    			case 9:
    				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7], $params[8]);
    				break;
    			case 10:
    				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7], $params[8], $params[9]);
    				break;
    			default:
    				echo "Too many arguments";
    				return null;
    				break;
    		}
    }

    Продолжение одного нашумевшего блокбастера: Радж и "шоколадная" фабрика.
    Исходники взяты из компонента JEvents для Joomla. Файл из папки "icalevent". Думаю что стоит сделать акцент на iCAL, есть в этом что-то особенное.

    SunnyMagadan, 24 Октября 2012

    Комментарии (30)
  2. Java / Говнокод #11985

    +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
    public void aMethod() {
        try {
            int t = 0;
            t = t / t;
        } catch (Exception e) {
            System.out.println("aMethod");
            for (StackTraceElement element : e.getStackTrace()) {
                System.out.println("aMethod" + element.getClassName() + " " + element.getMethodName() + " " + element.getLineNumber() );
            }
        }
    ...//дополнительная "логика"
    }

    оригинальный способ узнать кто же вызвал aMethod

    Cat4eg, 24 Октября 2012

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

    +136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    double thresholdDepth = 0;
    if (!txtThresholdDepth.Text.Equals(String.Empty) && !txtThresholdDepth.Text.StartsWith(CultureInfo.CurrentCulture.NumberFormat.NegativeSign))
    {
    	thresholdDepth = Double.Parse(txtThresholdDepth.Text);
    }
    else
    {
    	Log.Print("Input threshold value");
    	return;
    }

    redrick, 24 Октября 2012

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

    +30

    1. 1
    if( str[0] == '<' || str[1] == '?' || str[2] == 'x' || str[3] == 'm' || str[4] == 'l') {...}

    Проверка на xml-ность

    bazhenovc, 24 Октября 2012

    Комментарии (20)
  5. JavaScript / Говнокод #11982

    +154

    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
    var num_normalize = function (num) {
            if (typeof num == 'string') {
                if (num.test('.')) {
                    return parseFloat(num).toFixed(2);
                }
                else {
                    return parseInt(num);
                }
            }
            else if (parseInt(num) == parseFloat(num)) {
                return parseInt(num);
            }
            else return parseFloat(num).toFixed(2);
        };

    Когда-то писал функцию для приведение чисел к одному виду, которые иногда приходили в виде стринги.
    За говнокод сойдет?

    Stud, 24 Октября 2012

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

    −126

    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
    1CClientBankExchange
    ВерсияФормата=1.01
    Кодировка=Windows
    Получатель=
    ДатаНачала=25.09.2012
    ДатаКонца=25.09.2012
    ...
    СекцияРасчСчет
    ...
    КонецРасчСчет
    СекцияДокумент=Платежное поручение
    ...
    КонецДокумента
    КонецФайла

    Формат файла: Стандарт обмена с системами "Клиент банка"
    http://v8.1c.ru/edi/edi_stnd/100/101.htm

    Пидорва изобрела ini-файлы. Но убило не это, а это:
    >Кодировка=Windows

    Centry, 24 Октября 2012

    Комментарии (24)
  7. JavaScript / Говнокод #11980

    +161

    1. 1
    eval( array.join('+') );

    Конечно, я понимаю что всякие Haskel там, то, сё...

    bot, 24 Октября 2012

    Комментарии (26)
  8. Куча / Говнокод #11979

    +175

    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
    with Ada.Integer_Text_Io, Ada.Text_Io;
    use Ada.Integer_Text_Io, Ada.Text_Io;
    
    procedure Test is
    v : Long_Float := 26.0;
    v1 : float := 26.0;
    begin
       while (v<27.0) loop
             Put_Line("Value = " & Long_Float'image(v));
            v:=v+0.2;
       end loop;
       while (v1<27.0) loop
             Put_Line("Value = " & float'image(v1));
            v1:=v1+0.2;
       end loop;
    
    end;

    ideone.com/pXIhvY
    Безопасный военный язык, да.

    3.14159265, 23 Октября 2012

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

    +132

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    main = do
            print [1 .. 9]
            print [1, 3 .. 9]
            print [1, 3 .. 10]
            print [26.0, 26.2 .. 27.0]
            print [25.5..30.0]
            print [25, 25 .. 25]

    В хаскеле сломан генератор списков. :(
    http://ideone.com/AvBSuz

    HaskellGovno, 22 Октября 2012

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

    +91

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public static 
    	String readFile(String file) {
    		return Read.file(  Reflection.getCallerClass(2), file,"\n");
    	}
    	public static 
    	String readFile(Class c, String file, final String lineBreaker) {
    		return Read.stream(c.getResourceAsStream(file),lineBreaker);
    	}

    Я уже как-то раз наступил на эту хрень.
    Но ничё - сегодня снова вот решил написать - удобно ведь.

    3.14159265, 22 Октября 2012

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