1. JavaScript / Говнокод #3618

    +162

    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
    var titleAlt = String(dbField("title").value);
    if (titleAlt.toLowerCase().indexOf("<b>") != -1) { titleAlt = titleAlt.replace(/<b>/gi, "").replace(/<\/b>/gi, ""); }
    if (titleAlt.toLowerCase().indexOf("<i>") != -1) { titleAlt = titleAlt.replace(/<i>/gi, "").replace(/<\/i>/gi, ""); }
    if (titleAlt.toLowerCase().indexOf("<small>") != -1) { titleAlt = titleAlt.replace(/<small>/gi, "").replace(/<\/small>/gi, ""); }
    if (titleAlt.toLowerCase().indexOf("<br>") != -1) { titleAlt = titleAlt.replace(/<br>/gi, ""); }
    if (titleAlt.toLowerCase().indexOf("<p>") != -1) { titleAlt = titleAlt.replace(/<p>/gi, "").replace(/<\/p>/gi, ""); }
    f = 0;
    while (f != -1) {
        f = titleAlt.indexOf("<img ");
        if (f == -1) { f = titleAlt.indexOf("< img "); }
        if (f == -1) { f = titleAlt.indexOf("<  img "); }
        if (f == -1) { f = titleAlt.indexOf("<IMG "); }
        if (f == -1) { f = titleAlt.indexOf("< IMG "); }
        if (f == -1) { f = titleAlt.indexOf("<  IMG "); }
        if (f != -1) {
            t = -1;
            for (i = f; i < titleAlt.length; i++) {
                if (titleAlt.substr(i, 1) == ">") { t = i; i = titleAlt.length; }
            }
            if (t != -1) {
                ttl = titleAlt;
                titleAlt = ttl.substring(0, f) + ttl.substring(t + 1, titleAlt.length);
            }
        }
    }

    это не что иное, как попытка очистить строку от html
    код как бы говорит нам - "регулярные выражения - зло!"
    цикл while - это просто шедевр зодчества эпохи просвещения. он ищет тег img и закрывающую скобку, и если они есть - присваивает результату подстроку от начала строки до первого вхождения img и от последнего вхождения угловой скобки

    найдено в серверном JavaScripte на одном из зарубежных сайтов

    mozg_raka, 01 Июля 2010

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

    −132

    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
    Если ДатаЧисло(НачДата) < 10 Тогда
    	ЧислоДата = "0"+ДатаЧисло(НачДата);
    Иначе
    	ЧислоДата =  ДатаЧисло(НачДата);
    КонецЕсли;
    
    Если ДатаМесяц(НачДата) < 10 Тогда
    	МесяцДата = "0"+ДатаМесяц(НачДата);
    Иначе
    	МесяцДата =  ДатаМесяц(НачДата);
    КонецЕсли;			
    		
    Если ДатаЧисло(КонДата) < 10 Тогда
    	КонЧислоДата = "0"+ДатаЧисло(КонДата);
    Иначе
    	КонЧислоДата =  ДатаЧисло(КонДата);
    КонецЕсли;
    
    Если ДатаМесяц(КонДата) < 10 Тогда
    	КонМесяцДата = "0"+ДатаМесяц(КонДата);
    Иначе                                                                     
    	КонМесяцДата =  ДатаМесяц(КонДата);
    КонецЕсли;			
    
    /// ... где-то ниже
    ЧислоДата+"/"+МесяцДата+"/"+ДатаГод(НачДата)+";"+КонЧислоДата+"/"+КонМесяцДата+"/"+ДатаГод(КонДата)

    У меня это ужалось до 2х строк:
    ДатаСтр = Строка(Формат(НачДата, "ДDDMMYYYY"));
    ДатаСтр = СтрЗаменить(ДатаСтр, ".", "/");

    just_geek, 01 Июля 2010

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Writer writer = new BufferedWriter(new FileWriter(new File("launch.vbs")));
    writer.write("Set objIExplorer = CreateObject(\"internetexplorer.application\")\r\n");
    writer.write("objIExplorer.visible = True\r\n");
    writer.write("objIExplorer.navigate \"http://www.google.com\"\r\n");
    writer.flush();
    writer.close();
    Runtime.getRuntime().exec("cscript.exe launch.vbs");

    Запуск IE под виндой, когда путь к нему неизвестен.

    Jk, 01 Июля 2010

    Комментарии (9)
  4. SQL / Говнокод #3615

    −858

    1. 1
    IF ((SELECT 1 FROM DELETED AS D INNER JOIN INSERTED AS I ON (I.[id_Status]=D.[id_Status])) IS NULL )

    такий от тригер стоїть на апдейт однієї таблички ...
    ось так -- IF Insertes.id_Status != Deleted.Id_Status було б значно краще і лаконічніше.

    O_O, 01 Июля 2010

    Комментарии (21)
  5. PHP / Говнокод #3614

    +150

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public static function getReport_status($user, $event_id) {
        if($user->isAuthenticated()) {
                return false;//1;
        }
        return false;
    }

    напарник развлекаецо

    KiMindfreak, 01 Июля 2010

    Комментарии (6)
  6. PHP / Говнокод #3613

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function Check_email(mail1)
        {
            var found = false;
          for (i=0;i<mail1.length;i++)
          {
            if (mail1.charAt(i) == '@') found = true;
            if (mail1.charAt(i) == '.' && found) return true;
          }
          return false;
        }

    ух щи-

    wiz, 01 Июля 2010

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

    +124

    1. 1
    long toPageEmail = --emailToEmailFrom + 1;

    //Писалось сквозь закрытые глаза, в 6 утра.

    BlincAttack, 01 Июля 2010

    Комментарии (13)
  8. SQL / Говнокод #3611

    −179

    1. 1
    SELECT REPLACE(RTRIM(REPLACE(REPLACE(RTRIM(REPLACE(LTRIM('  850.0000'),'0',' ')),' ','0'),'.',' ')),' ','.')

    Совет, как убрать лишние нули после точки

    Back, 01 Июля 2010

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

    +165

    1. 1
    throw new std::bad_alloc();

    У нас в кодеконвеншене принято передавать исключения по указателю. Вчера обнаружил вот это во многих перегрузках оператора new, да и в прочих местах по проекту.

    Говногость, 01 Июля 2010

    Комментарии (12)
  10. C++ / Говнокод #3609

    +168

    1. 1
    2. 2
    3. 3
    SystemDiskLogSingleton::Instance().Add("Системный диск не отвечает на попытки записи данных. Возможно завис его драйвер.", 152, SystemDiskAccessError);
    printStr("Системный диск висит. Обратитесь к системному администратору.");
    loo54: goto loo54;

    Вот такое нашёл в проекте нашего встроенного устройства. Есть один единственный диск в системе. В лог-файл записываются сообщения о различных ошибках. Оказалось, что и сообщение об ошибках доступа к этому диску тоже.

    Говногость, 30 Июня 2010

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