1. Лучший говнокод

    В номинации:
    За время:
  2. C# / Говнокод #18163

    +141

    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
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    private List<string> urls = new List<string>();
    
            private int urls_index = -1;
    
            private ProgressBar pb = new ProgressBar()
            {
                Width = 291,
                Height = 26,
                Maximum = 100,
                Minimum = 0,
                Location = new Point(12, 41)
            };
    
            public Object SyncIndex = new Object();
    
    public void DownLoad(object index)
            {
                int indexwhile = (int) index;
                while (work)
                {
                    int localIndex;
    
                    lock (SyncIndex)
                    {
                        urls_index++;
                        localIndex = urls_index;
                    }
    
                    WebClient webClient = new WebClient();
                    try
                    {
                        webClient.DownloadFile(new Uri(urls[localIndex]), "img/" + localIndex + ".jpg");
                        webClient.DownloadProgressChanged += (s, a) => Invoke(new Action(() => {progressBars[indexwhile].Value = a.ProgressPercentage;})); 
                    }
                    catch (Exception exception)
                    {
                        Invoke(new Action(() =>
                        {
                            listBox2.Items.Add("Ошибка" + listBox1.Items[localIndex]);
                        }));
    
                        DownLoad(index);
                    }
    
                    Invoke(new Action(() =>
                    {
                        listBox1.Items[localIndex] =  "Загружен" + listBox1.Items[localIndex];
                        label1.Text = urls.Count.ToString();
                        richTextBox1.Text += localIndex + @".jpg Загружен" + Environment.NewLine;
                    }));
    
                    Thread.Sleep(500);
    
                }
            }
    
    
    private void button2_Click(object sender, EventArgs e)
            {
                work = true;
    
                Thread[] threads = new Thread[30];
    
                
    
                for (int i = 0; i < 20; i++)
                {
                    int mnoj = i + 1;
                    progressBars[i] = new ProgressBar()
                    {
                        Width = 291,
                        Height = 26,
                        Maximum = 100,
                        Minimum = 0,
                        Location = new Point(12, 41)
                    };
                    progressBars[i].Location = new Point(12, 41 * mnoj);
                    Controls.Add(progressBars[i]);
                    threads[i] = new Thread(DownLoad);
                    threads[i].IsBackground = true;
                    threads[i].Start(i);
                }
            }

    И все в одной форме..

    igorkrets, 14 Мая 2015

    Комментарии (1)
  3. Си / Говнокод #18160

    +141

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    char    chByte15[3] = { pchCodeKey[0x15 * 2], pchCodeKey[0x15 * 2 + 1], 0 };
    char    chByte16[3] = { pchCodeKey[0x16 * 2], pchCodeKey[0x16 * 2 + 1], 0 };
    char    chByte18[3] = { pchCodeKey[0x18 * 2], pchCodeKey[0x18 * 2 + 1], 0 };
    
    unsigned char   uchByte15h;
    unsigned char   uchByte16h;
    unsigned char   uchByte18h;
    
    uchByte15h =  strtoul(chByte15, NULL, 16);
    uchByte16h =  strtoul(chByte16, NULL, 16);
    uchByte18h =  strtoul(chByte18, NULL, 16);

    все забыли про scanf()...

    Dummy00001, 13 Мая 2015

    Комментарии (0)
  4. Си / Говнокод #18157

    +141

    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
    const char *pS;
    		char *pD;
    
    		// clear out new string
    		szNew[0] = '\0';
    
    		pS = pszValue;
    		pD = szNew;
    
    		// step through the string, only copying back in characters that are printable
    		while( *pS )
    		{
    			if( ((byte)*pS) < 32 || ((byte)*pS) > 255 )
    			{
    				pS++;
    				continue;
    			}
    			*pD++ = *pS++;
    		}
    
    		// terminate the new string
    		*pD = '\0';

    Мало того, char в проекте подразумевается signed

    mittorn, 12 Мая 2015

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

    +141

    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
    <?php 
     
    require_once 'db.php';
     error_reporting(E_ALL);
    //полученный масиф (B!) на предыдущей страницы методом Post
    $first_name = filter_input(INPUT_POST, 'first_name');
    $email = filter_input(INPUT_POST, 'email');
    $phone = filter_input(INPUT_POST, 'phone');//PHONE BLYAD
    $text = filter_input(INPUT_POST, 'text');
    $date = date("Y-m-d H:i:s");
    //Теперь сделаем запрос к базе, который внесет наши данные в таблицу:
    $query = $dblink->prepare("INSERT INTO `claims` (`date`,`first_name`, `email`, `phone`, `text`) VALUES (?, ?, ?, ?,?);");
    $result = $query->execute (array($date, $first_name, $email, $phone, $text));//MAYBE IT'S CAN RAISE PDOException, see more in documentation
     
    //Если запрос пройдет успешно то в переменную result вернется true
    if($result)
    { $URL="http://masterdnepr.dp.ua/";
     header ("Location: $URL");
     }
    else {echo "Ваши данные не добавлены";
    
    }
    ?>

    Вот так заработало

    radiomonter, 11 Мая 2015

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

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    function GetArgs(const str:string):string;
    begin
      result:=strpas(pathgetargs(pchar(str))); //UB
    end;

    result:=strpas(pathgetargs(pchar(str))); //UB
    Плохой мальчик.

    Stertor, 09 Мая 2015

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

    +141

    1. 1
    $time = htmlspecialchars(addslashes(time()));

    Паранойя...

    SToRm1k, 01 Мая 2015

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

    +141

    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
    @ResponseBody
    public String paymentFeedback(@RequestBody MultiValueMap<String, String> requestParameters, @RequestBody String requestBody) {
        boolean isValidRequest = myService.hasRequestValidSHASign(requestParameters);
        if (isValidRequest) {
            String voucherNumber = findParameter(requestParameters, ORDERID_PARAMETER);
            if (!StringUtils.isEmpty(voucherNumber)) {
                Order order = orderService.getOrderByVoucherNumber(voucherNumber);
                if (order != null) {
                    String status = findParameter(requestParameters, STATUS_PARAMETER);
                    if (ACCEPT_STATUS_VALUES.contains(status)) {
                        updateOrderWithPaymentStatus(order, Status.PAID, requestParameters);
                        orderService.sendEmail(order);
                        orderService.sell(order);
                    } else if (CANCELLED_STATUS_VALUE.equals(status)) {
                        updateOrderWithPaymentStatus(order, Status.CANCELLED, requestParameters);
                    } else if (DECLINE_STATUS_VALUES.contains(status)) {
                        updateOrderWithPaymentStatus(order, Status.DECLINED, requestParameters);
                    } else if (EXCEPTION_STATUS_VALUES.contains(status)) {
                        updateOrderWithPaymentStatus(order, Status.EXCEPTION, requestParameters);
                    } else {
                        logger.warn("Order ID={} got strange status: {}. Ignoring that feedback...", voucherNumber, status);
                    }
                } else {
                    throw new IllegalArgumentException("Can't find voucher with orderID from feedback: " + voucherNumber);
                }
            } else {
                throw new IllegalArgumentException("Received feedback with missing orderID: " + requestBody);
            }
        } else {
            throw new IllegalArgumentException("Received feedback with invalid SHA sign: " + requestBody);
        }
        
        return "";
    }

    pingw33n, 30 Апреля 2015

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

    +141

    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
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    class ammo
    {
        public:
            bool existance;
            COORD alloc;
        void print()
            {
                pole[alloc.Y+1][alloc.X]=' ';
                pole[alloc.Y][alloc.X]='*';
            }
    };
    
    ammo bullet[10];
    
    void initpole();
    void replaceunit();
    void printpole();
    void redirect();
    void fire();
    void ammomove();
    
    int main(int argc, char* argv[])               //òåëî
    {
        initpole();
        do{
            if(kbhit())
                redirect();
            printpole();
            ammomove();
            Sleep(0);
            }
        while(chk!=27);
        return 0;
    }
    
    void redirect()                              //обработка нажатой клавиши
    {
        chk=getch();
        if(chk==32)
            {
                bullet[bulletcounter].existance=true;
                if(bulletcounter<10)
                    bulletcounter++;
                else
                    bulletcounter=0;
                fire();
            }
        else if(chk==75 || chk==77)
            replaceunit();
        else if(chk==112)
            {
            system("pause");
            system("cls");
            }
    }
    
    void fire()                                         //инициализация пули
    {
        bullet[bulletcounter].alloc.X=x;
        bullet[bulletcounter].alloc.Y=y-3;
        if(bullet[bulletcounter].existance==true)
            bullet[bulletcounter].print();
    }
    
    void ammomove()                                     //сдвиг пули
    {
        if(bullet[bulletcounter].existance==true)
            if(bullet[bulletcounter].alloc.Y>1)
                {
                    bullet[bulletcounter].alloc.Y--;
                    bullet[bulletcounter].print();
                }
            else
                {
                    bullet[bulletcounter].existance=false;
                    pole[bullet[bulletcounter].alloc.Y][bullet[bulletcounter].alloc.X]=' ';
                }
    }

    по нажатию пробела должна вылетать пулька, но чегот не хочет она вылетать, есть идеи? :3

    Morozz, 29 Апреля 2015

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

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public function createAdvertApart () { // ВНИМАНИЕ! Видимость функции protected
    
    // проверяем max размер допустимый к загрузке
    			if ( $_files[size] > 3000000 )
    			$error[] = "Файл превышает размер три мегабайта";

    Прислали вместе с резюме пример кода, а там ...

    kolko91, 24 Апреля 2015

    Комментарии (3)
  11. Куча / Говнокод #18054

    +141

    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
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    func (db *DB) CountResults(filial []int64, device []int64, workplace []int64, from time.Time, to time.Time, splits bool, skip int64) (res []*AvgResults, err error) {
    
    	var query string
    	var rows *pgx.Rows
    
    	_, err = db.Exec("SET LOCAL TIME ZONE 'Asia/Yekaterinburg';")
    	if err != nil {
    		return nil, err
    	}
    
    	switch {
    	case splits:
    		query = `WITH data AS (SELECT "IndicatorResultValue"."IndicatorId", "qm"."Session"."Blocked", "qm"."Result"."SessionId" AS "SessionId", "qm"."DeviceIPRangeType"."Number" AS "RangeType", "qm"."DeviceIPRangeType"."Id" AS "RangeTypeId", "qm"."BranchWorkPlace"."Id" AS "WorkPlaceId", "DeviceIPRange"."BranchId", date("Datetime") as "Date"
      			FROM qm."Result"
      			LEFT OUTER JOIN "qm"."Device" ON ("Result"."DeviceId" = "Device"."Id")
      			LEFT OUTER JOIN "qm"."BranchWorkPlace" ON ("BranchWorkPlace"."Id" = "Device"."WorkPlaceId")
      			LEFT OUTER JOIN "qm"."Session" ON ("Result"."SessionId" = "Session"."Id")
      			LEFT OUTER JOIN "qm"."IndicatorResultValue" ON ("Result"."IndicatorResultValueId" = "IndicatorResultValue"."Id")
      			LEFT OUTER JOIN "qm"."ResultValue" ON ("IndicatorResultValue"."ResultValueId" = "ResultValue"."Id")
      			LEFT OUTER JOIN "qm"."DeviceIPRangeType" ON ("DeviceIPRangeType"."Id" = "Session"."DeviceIPRangeTypeId")
      			LEFT OUTER JOIN "qm"."DeviceIPRange" ON ("Session"."DeviceIPRangeId" = "DeviceIPRange"."Id") 	
      			FULL OUTER JOIN "queue"."Branches" ON ("DeviceIPRange"."BranchId" = "Branches"."Id" AND (0 = any ($1::int8[]) OR "Branches"."Id" = any($1::int8[])))),
    			data1 AS (SELECT COUNT(DISTINCT(data."SessionId")) AS "Count", 
    	 		"BranchId", 
    	  		CASE WHEN "RangeTypeId" < 3 THEN 0
                	ELSE "RangeTypeId"
    	  		END,  
    	  		"Date"
    	  		FROM data
    	  		WHERE (0 = any($2::int8[]) OR "RangeType" = any($2::int8[]))
    	   		AND (0 = any ($1::int8[]) OR "BranchId" = any($1::int8[]))
    	   		AND (0 = any($3::int8[]) OR "WorkPlaceId" = any($3::int8[]))
    	   		AND "Date" BETWEEN $4::timestamptz AND $5::timestamptz
    	   		AND NOT "Blocked"
    	  		GROUP BY "BranchId", CASE WHEN "RangeTypeId" < 3 THEN 0 ELSE "RangeTypeId" END, "Date"),  
    			data2 AS (SELECT "Id", "Name", date("d") AS "Date" FROM
    			queue."Branches"
    			CROSS JOIN generate_series($4::timestamptz, $5::timestamptz, $6) as "d" 
    			WHERE (0 = any ($1::int8[]) OR "Id" = any($1::int8[])) ),	            
    			data3 AS (SELECT "Count" AS C, 0 AS Avg, data1."Date", data1."RangeTypeId", data1."BranchId"
    			FROM "data1" GROUP BY "data1"."Date", "Count", "data1"."BranchId", "data1"."RangeTypeId"),
    			data3_1 AS (SELECT "qm"."DeviceIPRangeType"."Id" FROM "qm"."DeviceIPRange"
    			RIGHT OUTER JOIN "qm"."DeviceIPRangeType" ON ("qm"."DeviceIPRange"."DeviceIPTypeId" = "qm"."DeviceIPRangeType"."Id")
    			WHERE (0 = any ($1::int8[]) OR "DeviceIPRange"."BranchId" = any($1::int8[]))
    			GROUP BY "qm"."DeviceIPRangeType"."Id"),
    			data4 AS (SELECT "Id", "Name", date("d") AS "Date" FROM
    			"qm"."DeviceIPRangeType"
    			CROSS JOIN generate_series($4::timestamptz, $5::timestamptz, $6) as "d"
    			WHERE "Id" > 2 AND (0 = any($2::int8[]) OR "Number" = any($2::int8[])) AND "Id" IN (SELECT "Id" FROM data3_1)),
    			data5 AS (SELECT coalesce(c, 0) AS C, coalesce(avg, 0) AS Avg, coalesce("data2"."Date", "data3"."Date") AS date, "data2"."Name", "data3"."RangeTypeId" FROM
    			data2
    			FULL OUTER JOIN data3 ON ("data3"."BranchId" = "data2"."Id" AND "data3"."Date" = "data2"."Date"))
    			SELECT array_agg(coalesce(c, 0) ORDER BY coalesce("data5"."date", "data4"."Date")) AS "Count",
           		array_agg(coalesce(avg::double precision, 0::double precision) ORDER BY coalesce("data5"."date", "data4"."Date")) AS "Avg",
           		array_agg(coalesce("data5"."date", "data4"."Date") ORDER BY coalesce("data5"."date", "data4"."Date"))::timestamptz[] AS "Date",
           		coalesce("data5"."Name", "data4"."Name") AS "Name" FROM data5
    			FULL OUTER JOIN data4 ON ("data4"."Id" = "data5"."RangeTypeId" AND "data5"."date" = "data4"."Date")
    			WHERE coalesce("data5"."Name", "data4"."Name") IS NOT NULL
    			GROUP BY coalesce("data5"."Name", "data4"."Name")
    			ORDER BY coalesce("data5"."Name", "data4"."Name")`
    	default:
    		query = `WITH data AS (SELECT "IndicatorResultValue"."IndicatorId", "qm"."Session"."Blocked", "qm"."Result"."SessionId" AS "SessionId", "qm"."DeviceIPRangeType"."Number" AS "RangeType", "qm"."DeviceIPRangeType"."Id" AS "RangeTypeId", "qm"."BranchWorkPlace"."Id" AS "WorkPlaceId", "DeviceIPRange"."BranchId", date("Datetime") as "Date"
    	 		FROM qm."Result"
    	 		LEFT OUTER JOIN "qm"."Device" ON ("Result"."DeviceId" = "Device"."Id")
    	 		LEFT OUTER JOIN "qm"."BranchWorkPlace" ON ("BranchWorkPlace"."Id" = "Device"."WorkPlaceId")
    	 		LEFT OUTER JOIN "qm"."Session" ON ("Result"."SessionId" = "Session"."Id")
    	 		LEFT OUTER JOIN "qm"."IndicatorResultValue" ON ("Result"."IndicatorResultValueId" = "IndicatorResultValue"."Id")
    	 		...

    Код для БД на go

    g2347933, 24 Апреля 2015

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