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

    +79

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public void playersListClearBlacklist() {
    	List<Player> itemsToRemove = new ArrayList<Player>();
    	for (int i = 0; i < blacklist.size(); i++) {
    		Player player = blacklist.get(i);
    		itemsToRemove.add(player);
    		DBCore.getInstance().deletePlayer(player);
    	}
    	blacklist.removeAll(itemsToRemove);
    }

    Из комерческого проекта

    Smekalisty, 27 Ноября 2014

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

    +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
    20. 20
    21. 21
    22. 22
    var action = $(this).attr("action");
    var id_taxi = $('#id_taxi').val();
    var id_car = $('#id_car').val();
    var car_number = $('#number-car').val();
    var car_code = $('#number-car-code').val();
    <....>
    if ( action == "add" ){
        var url = '/api/4/*****/service/taxi/addAvto';
        var data_send={ 'id_taxi':id_taxi, 'car_number':car_number, 'model':model, 'color':color, 'licence_number': licence_number, 'id_type_car_body': id_type_car_body, 'type_car_comfort' : comfort, 'car_options' : option, 'isActive': is_active };
    
    }else if ( action == "edit"  ){
        var url = '/api/4/****/service/taxi/updateAvto';
        var data_send={ 'id_car': id_car, 'car_number':car_number, 'model':model, 'color':color, 'licence_number': licence_number,'id_type_car_body': id_type_car_body,  'type_car_comfort' : comfort, 'car_options' : option, 'isActive': is_active};
    
    }
    <...>
    var request = $.ajax({
      url: url,  
      type: "POST",
      dataType: 'json',
      data: data_send
    });

    Сабмитим формы.
    И так на всем проекте, 3к строк JS кода, которые подобным образом описывают ВСЕ формы на проекте.
    web service architecture, йобана

    heyzea1, 27 Ноября 2014

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

    +135

    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
    public CookieContainer GetCookies(string url, string login, string password)
    {
        try
        {
            var cookies = new CookieContainer();
            string postData = string.Format(@"subaction=dologin&username={0}&password={1}&selected_language=Russian&x=62&y=37", Uri.EscapeDataString(login), Uri.EscapeDataString(password));
            HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url + "admin.php");
            httpWebRequest.AllowAutoRedirect = true;
            httpWebRequest.CookieContainer = cookies;
            httpWebRequest.Method = "POST";
            httpWebRequest.ContentType = "application/x-www-form-urlencoded";
            httpWebRequest.UserAgent = "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.289 Version/12.01";
            httpWebRequest.ServicePoint.Expect100Continue = false;
            byte[] ByteQuery = System.Text.Encoding.UTF8.GetBytes(postData);
            httpWebRequest.ContentLength = ByteQuery.Length;
            Stream QueryStream = httpWebRequest.GetRequestStream();
            QueryStream.Write(ByteQuery, 0, ByteQuery.Length);
            QueryStream.Close();
            HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            StreamReader sr = new StreamReader(httpWebResponse.GetResponseStream(), Encoding.GetEncoding(1251));
            string loginPage = sr.ReadToEnd();
            sr.Close();
            if (loginPage.IndexOf(@"div class=""error""") == -1)
            {
                httpWebResponse.Cookies = httpWebRequest.CookieContainer.GetCookies(httpWebRequest.RequestUri);
                httpWebResponse.Close();
                return cookies;
            }
            else
            {
                return null;
            }
            
        }
        catch (Exception)
        {
            if (n < 3)
            {
                Thread.Sleep(400);
                n++;
                return GetCookies(url, login, password);
            }
            else
            {
                n = 0;
                return null;
            }
        }
    }

    Костыльно-ориентированное велосипедирование. Выдержка из паттерна "тулза для работы с вебом", метод авторизации на какой-то из CMS.

    pushistayapodmyshka, 27 Ноября 2014

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

    +50

    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
    57. 57
    58. 58
    59. 59
    size_t __stdcall ZAsmView::addrSet(DIS const *pDis, unsigned __int64 Va, wchar_t * buf, size_t cb, unsigned __int64 * displacement)
    {
    	FORMATDATA* pf = (FORMATDATA*)pDis->PvClient();
    	size_t fixupLen = pf->fixupLen;
    	pf->fixupLen = 0;
    	*displacement = 0;
    	BOOL f = TRUE;
    	PVOID _Va = (PVOID)Va;
    	ZDbgDoc* pDoc = pf->pDoc;
    	
    __loop:
    	if (PCSTR Name = pDoc->getNameByVa((PVOID)Va))
    	{
    		char cc[256];
    		PCSTR fName = unDNameEx(cc, Name, sizeof(cc), UNDNAME_NAME_ONLY);
    		int len = _snwprintf(buf, cb, L"%S(%p)", fName, Va);
    		if (len < 0)
    		{
    			buf[len = (DWORD)cb - 1] = 0;
    		}
    		else
    		{
    			buf[0] |= 0x4000, buf[len - 3 - 2*sizeof(PVOID)] |= 0x8000;
    		}
    		return len;
    	}
    
    	if (f && 2*sizeof(PVOID)+2<cb)
    	{
    		switch (pDis->Trmta())
    		{
    		case DIS::a_jmp_u_2:
    		case DIS::a_jmp_u_5:
    		case DIS::a_jmp_c_2:
    		case DIS::a_jmp_c_6:
    			_snwprintf(buf, cb, L"%p %c", (PVOID)Va, Va > pf->pLI->Va ? 0x2193 : 0x2191);
    			buf[0] |= 0x4000, buf[2*sizeof(PVOID)-1] |= 0x8000;
    			return 2*sizeof(PVOID)+2;
    		}
    	}
    
    	if (fixupLen)
    	{
    		if (0 <= pDoc->Read((PVOID)Va, &Va, sizeof(PVOID)))
    		{
    			fixupLen = 0, f = FALSE;
    			goto __loop;
    		}
    	}
    
    	if (2*sizeof(PVOID)+2<cb && pDoc->getDllByVaNoRef(_Va))
    	{
    		_snwprintf(buf, cb, L"%p", _Va);
    		buf[0] |= 0x4000, buf[2*sizeof(PVOID)-1] |= 0x8000;
    		return 2*sizeof(PVOID);
    	}
    
    	return 0;
    }

    zhukas, 27 Ноября 2014

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

    +55

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    QByteArray ba;
    char x;
    
    x = 0x05;
    ba.append (&x, sizeof (x));

    Qt. Продолжаем мучить QByteArray :)

    ealx, 26 Ноября 2014

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

    +50

    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
    char parser_msg(char *data, char size)
    {
        //<...>
        QByteArray bt;
        //<...>    
        x=(char *) malloc(size);
        bt.clear();
    
        for (i=0; i<size; i++) {
            x[i]=*data;
            bt.append(*data);
            *data++;
        }
    
        printf("Data parser! >> '%s'\n", bt.toHex().constData());
    
        if (x[0]==0x06) {
           //<...>
        }
    
        if (x[0]==...) {
           //<...>   
        }
    
       //<...>
    }

    Разбор команд из COM-порта. Используется Qt. QByteArray, кстати, заведен здесь только ради дебаг-принта.
    При вызове функции в кач. data передается указатель, возвращаемый data() другого байтаррэя, живущего на стеке.

    ealx, 26 Ноября 2014

    Комментарии (7)
  7. Java / Говнокод #17191

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static int activeThreadsCount(List<Thread> threadList)
    {
    	int i = 0;
    	for (Thread thread : threadList)
    	{
    		i += thread.isAlive() ? 1 : 0;
    	}
    	return i;
    }

    pushistayapodmyshka, 26 Ноября 2014

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

    +54

    1. 1
    virtual bool    IsUnlockedAll(){bool temp = false;return temp^temp;};

    Код с боевого проекта. Комментариев не будет.

    DlangGovno, 26 Ноября 2014

    Комментарии (5)
  9. ActionScript / Говнокод #17188

    −99

    1. 1
    com.google.ui:ShadowButtonTextUiConfigFactory

    Разбираюсь с гуглокодом для Ютуб плеера. Как думаете, что может делать этот класс?

    wvxvw, 26 Ноября 2014

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    if (array_key_exists('COUPON', $_POST) && !array_key_exists('coupon', $_POST))
    	{
    		$_POST["coupon"] = $_POST["COUPON"];
    	}

    В глубинах битрикса...

    jorique, 26 Ноября 2014

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