1. Си / Говнокод #5990

    +127

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    [code=Си]
    switch(n)
    case 1:
    {
      /* code1 */
      /* fallthrough */
      case 2:
      /* code 2 */
    }
    [/code]

    Все имена и явки изменены!
    Сцуко, работает. Щас в стандарт полезу, интересно же! Обвиняют меня, я киваю на издержки мержа. Но смешно.

    nil, 15 Марта 2011

    Комментарии (17)
  2. JavaScript / Говнокод #5989

    +160

    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
    function antispam()
    {
    var num1=Math.floor(Math.random()*11)+1;
    var num2=Math.floor(Math.random()*11)+1;
    var sum = num1+num2;
    var userP = prompt("To check that you are not spammer, solve this simple equation - "+num1+"+"+num2+"=?","");
    if (userP != null)
    {
    if (userP != sum) 
    {
    document.write("<!--");
    alert("Wrong answer!");
    } 
    else 
    {
    document.write('<form id="logform" action="proceed.php" onsubmit="javascript:return validate("logform","email");" method="post"><p>Your name: <input type="text" name="name" /></p><p>Your password: <input type="password" name="password" /></p><p>Your e-mail: <input type="text" name="email" id="email" /></p><p><input type="submit" value="Register!" /></p></form>');
    }
    }
    }

    Вот в таком режиме работает уже месяца два. Если не ГК, прошу, посоветуйте как можно это лучше сделать (или прикрутить капчу и не парится? :)). На JS я практически не пишу, я пишу в основном под .NET.

    RaZeR, 15 Марта 2011

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

    +140

    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
    try
    {
    	client.SendData(xml);
    }
    catch(Exception e)
    {
    	string s = e.ToString();
    	if(s.Substring(0,80)=="System.InvalidOperationException: Operation not allowed on non-connected sockets")
    	{
    		client.tcpclient.Close();
    		clients.Remove(client.SessionId);
    	}
    	else if (s.Substring(0,71)=="System.IO.IOException: Unable to write data to the transport connection")
    	{
    		client.tcpclient.Close();
    		clients.Remove(client.SessionId);
    	}
    	else
    	{
    		client.tcpclient.Close();
    		clients.Remove(client.SessionId);
    	}
    }

    нестандартное определение типа исключения
    найдено в примерах кода кандидата на работу

    mozg_raka, 15 Марта 2011

    Комментарии (21)
  4. Куча / Говнокод #5987

    +141

    1. 1
    http://respect.lg.ua/

    Смотрим хтмл код в самом низу.

    alex322, 15 Марта 2011

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

    +169

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function isTheSame(string1, string2) {
    	var firstResult =new RegExp(string1).test(string2); 
    	var secondResult =new RegExp(string2).test(string1);
    	var commonResult = firstResult && secondResult;
    	return commonResult;
    }

    tr00_gr1m_doomster, 15 Марта 2011

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

    +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
    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
    public class BasisTariffing : IFormattable
    {
    	public override bool Equals(object obj) {
    		BasisTariffing subject = obj as BasisTariffing;
    		if (subject == null) {
    			return false;
    		}
    		return ((Profession == null && subject.Profession == null) || (Profession != null && subject.Profession != null && Profession.Equals(subject.Profession))) &&
    			((BasisRateOf == null && subject.BasisRateOf == null) || (BasisRateOf != null && subject.BasisRateOf != null && BasisRateOf.Equals(subject.BasisRateOf))) &&
    			((BasisRating1Main == null && subject.BasisRating1Main == null) || (BasisRating1Main != null && subject.BasisRating1Main != null && BasisRating1Main.Equals(subject.BasisRating1Main))) &&
    			((BasisRating1Add == null && subject.BasisRating1Add == null) || (BasisRating1Add != null && subject.BasisRating1Add != null && BasisRating1Add.Equals(subject.BasisRating1Add))) &&
    			((BasisRating2Main == null && subject.BasisRating2Main == null) || (BasisRating2Main != null && subject.BasisRating2Main != null && BasisRating2Main.Equals(subject.BasisRating2Main))) &&
    			((BasisRating2Add == null && subject.BasisRating2Add == null) || (BasisRating2Add != null && subject.BasisRating2Add != null && BasisRating2Add.Equals(subject.BasisRating2Add))) &&
    			((BasisRating3Main == null && subject.BasisRating3Main == null) || (BasisRating3Main != null && subject.BasisRating3Main != null && BasisRating3Main.Equals(subject.BasisRating3Main))) &&
    			((BasisRating3Add == null && subject.BasisRating3Add == null) || (BasisRating3Add != null && subject.BasisRating3Add != null && BasisRating3Add.Equals(subject.BasisRating3Add))) &&
    			((BasisRating4Main == null && subject.BasisRating4Main == null) || (BasisRating4Main != null && subject.BasisRating4Main != null && BasisRating4Main.Equals(subject.BasisRating4Main))) &&
    			((BasisRating4Add == null && subject.BasisRating4Add == null) || (BasisRating4Add != null && subject.BasisRating4Add != null && BasisRating4Add.Equals(subject.BasisRating4Add))) &&
    			((BasisRating5Main == null && subject.BasisRating5Main == null) || (BasisRating5Main != null && subject.BasisRating5Main != null && BasisRating5Main.Equals(subject.BasisRating5Main))) &&
    			((BasisRating5Add == null && subject.BasisRating5Add == null) || (BasisRating5Add != null && subject.BasisRating5Add != null && BasisRating5Add.Equals(subject.BasisRating5Add))) &&
    			((BasisRating6Main == null && subject.BasisRating6Main == null) || (BasisRating6Main != null && subject.BasisRating6Main != null && BasisRating6Main.Equals(subject.BasisRating6Main))) &&
    			((BasisRating6Add == null && subject.BasisRating6Add == null) || (BasisRating6Add != null && subject.BasisRating6Add != null && BasisRating6Add.Equals(subject.BasisRating6Add))) &&
    			((BasisRating7Main == null && subject.BasisRating7Main == null) || (BasisRating7Main != null && subject.BasisRating7Main != null && BasisRating7Main.Equals(subject.BasisRating7Main))) &&
    			((BasisRating7Add == null && subject.BasisRating7Add == null) || (BasisRating7Add != null && subject.BasisRating7Add != null && BasisRating7Add.Equals(subject.BasisRating7Add))) &&
    			((BasisRating8Main == null && subject.BasisRating8Main == null) || (BasisRating8Main != null && subject.BasisRating8Main != null && BasisRating8Main.Equals(subject.BasisRating8Main))) &&
    			((BasisRating8Add == null && subject.BasisRating8Add == null) || (BasisRating8Add != null && subject.BasisRating8Add != null && BasisRating8Add.Equals(subject.BasisRating8Add)));
    	}
    
    	public override int GetHashCode() {
    		return ((Profession != null) ? Profession.GetHashCode() : 0) ^
    			((BasisRateOf != null) ? BasisRateOf.GetHashCode() : 0) ^
    			((BasisRating1Main != null) ? BasisRating1Main.GetHashCode() : 0) ^
    			((BasisRating1Add != null) ? BasisRating1Add.GetHashCode() : 0) ^
    			((BasisRating2Main != null) ? BasisRating2Main.GetHashCode() : 0) ^
    			....................................
    	}
    }

    Как вам перегрузочка? И это только часть кода *сущности*, больше просто не вместилось =)

    Guid, 15 Марта 2011

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

    +156

    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
    $properties_array = array_keys($this->values);
                array_unshift($properties_array, $properties_array[0]);
                unset($properties_array[0]);
                $properties_values_array = array_values($properties_array);
                $values_array = array_values($this->values);
                $properties = implode('` ,`', $properties_values_array);
                $values = implode(', ', array_fill(0, count($this->values), '?'));
                $result = self::$orm->db->prepare('INSERT INTO `' . $this->table . '`  (`' . $properties . '`) values (' . $values . ')');
                foreach ($values_array as $key => $value) {
                    $fieldinfo = $this->fields[$properties_values_array[$key]];
                    $result->bindParam($key + 1, $values_array[$key], $this->correctDataType($fieldinfo['native_type'], $fieldinfo['pdo_type']), $fieldinfo['len']);
                }
                $result->execute();

    Чувствую код плохо пахнет, надо разбирать)) Высоко нагруженный проект ;)

    PANACEA, 15 Марта 2011

    Комментарии (7)
  8. 1C / Говнокод #5983

    −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
    СписокЗначенийТиповЦен = Новый СписокЗначений;
    ...
    КоличествоЦен = 0;
    РезультатВыбора = ФормаВыбораТиповЦен.ОткрытьМодально();
    Для Каждого Элемент Из РезультатВыбора Цикл 
    	СписокЗначенийТиповЦен.Добавить(Элемент.Значение);
    	КоличествоЦен = КоличествоЦен + 1;
    КонецЦикла;
    
    Если КоличествоЦен = 0 Тогда
    	Предупреждение("Не выбран ни один тип цен!!!");	
    	Возврат;
    КонецЕсли;

    Нет проверки на возвращение "неопределено" в строке 4. К тому же в результате возвращает список значений, зачем создавать еще один список и все элементы переносить в него для меня загадка.
    Ну и счетчик количества элементов в цикле вместо РезультатВыбора.Количество() на десерт.

    ingenuus, 14 Марта 2011

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

    +160

    1. 1
    2. 2
    float alpha = float(m_startAlpha) + 255.0f * (getElapsed() / (m_duration * (1.0f - float(m_startAlpha) / 255.0f)));
    m_target->setAlpha(static_cast<uint8_t>(alpha));

    Выдержка из обновления объекта-действия, производящего линейный фейд-аут объекта...

    Общение с чужим говнокодом не проходит бесследно... что же я курил, перед тем как ЭТО соорудить?

    Kirinyale, 14 Марта 2011

    Комментарии (5)
  10. Си / Говнокод #5981

    +132

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (argc == 3)
        snprintf(outfile, sizeof(outfile) - 1, "scan.log", argv[1], argv[2]);
    else if (argc >= 4)
    {
        snprintf(outfile, sizeof(outfile) - 1, "scan.log", argv[1], argv[3], argv[2]);
        // ...
    }

    Какой-то иксплойт, файл pscan2.c

    raorn, 14 Марта 2011

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