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

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

    +159

    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
    <?
    $a = array("second","third","first");
    usort($a,"tes");
    function tes($c, $d, $data){
    if ($c == "third" && $d == "second") return -1;
    if ($c == "third" && $d == "first") return -1;
    if ($c == "first" && $d == "second") return 1;
    if ($c == "second" && $d == "third") return 1;
    if ($c == "first" && $d == "third") return 1;
    if ($c==$d==$data) return 0;
    }
    print_r($a);
    ?>

    В тестах задание, сортировать $a до вида ([1]=>"third",[2]=>"second",[3]=>"first").
    Один из вариантов ответа(остальные ответы аналогичны, отличаются синтаксисом).

    truedizzy, 21 Февраля 2012

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

    +86

    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
    @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
    
            Sdbankpd sdbankpd = (Sdbankpd) o;
    
            if (bjbank != null ? !bjbank.equals(sdbankpd.bjbank) : sdbankpd.bjbank != null) return false;
            if (bjbvpd != null ? !bjbvpd.equals(sdbankpd.bjbvpd) : sdbankpd.bjbvpd != null) return false;
            if (bjcncd != null ? !bjcncd.equals(sdbankpd.bjcncd) : sdbankpd.bjcncd != null) return false;
            if (bjcust != null ? !bjcust.equals(sdbankpd.bjcust) : sdbankpd.bjcust != null) return false;
            if (bjcycd != null ? !bjcycd.equals(sdbankpd.bjcycd) : sdbankpd.bjcycd != null) return false;
            if (bjdfin != null ? !bjdfin.equals(sdbankpd.bjdfin) : sdbankpd.bjdfin != null) return false;
            if (bjdnwd != null ? !bjdnwd.equals(sdbankpd.bjdnwd) : sdbankpd.bjdnwd != null) return false;
            if (bjefmt != null ? !bjefmt.equals(sdbankpd.bjefmt) : sdbankpd.bjefmt != null) return false;
            if (bjeyd != null ? !bjeyd.equals(sdbankpd.bjeyd) : sdbankpd.bjeyd != null) return false;
            if (bjhocy != null ? !bjhocy.equals(sdbankpd.bjhocy) : sdbankpd.bjhocy != null) return false;
            if (bjlccy != null ? !bjlccy.equals(sdbankpd.bjlccy) : sdbankpd.bjlccy != null) return false;
            if (bjlcd != null ? !bjlcd.equals(sdbankpd.bjlcd) : sdbankpd.bjlcd != null) return false;
            if (bjmdel != null ? !bjmdel.equals(sdbankpd.bjmdel) : sdbankpd.bjmdel != null) return false;
            if (bjmodt != null ? !bjmodt.equals(sdbankpd.bjmodt) : sdbankpd.bjmodt != null) return false;
            if (bjmrdt != null ? !bjmrdt.equals(sdbankpd.bjmrdt) : sdbankpd.bjmrdt != null) return false;
            if (bjpcfq != null ? !bjpcfq.equals(sdbankpd.bjpcfq) : sdbankpd.bjpcfq != null) return false;
            if (bjpcfu != null ? !bjpcfu.equals(sdbankpd.bjpcfu) : sdbankpd.bjpcfu != null) return false;
            if (bjpeyd != null ? !bjpeyd.equals(sdbankpd.bjpeyd) : sdbankpd.bjpeyd != null) return false;
            if (bjrdnb != null ? !bjrdnb.equals(sdbankpd.bjrdnb) : sdbankpd.bjrdnb != null) return false;
            if (bjsbrc != null ? !bjsbrc.equals(sdbankpd.bjsbrc) : sdbankpd.bjsbrc != null) return false;
            if (bjslcd != null ? !bjslcd.equals(sdbankpd.bjslcd) : sdbankpd.bjslcd != null) return false;
            if (bjsuc != null ? !bjsuc.equals(sdbankpd.bjsuc) : sdbankpd.bjsuc != null) return false;
            if (bjtylc != null ? !bjtylc.equals(sdbankpd.bjtylc) : sdbankpd.bjtylc != null) return false;
            if (bjurpt != null ? !bjurpt.equals(sdbankpd.bjurpt) : sdbankpd.bjurpt != null) return false;
            if (bjzone != null ? !bjzone.equals(sdbankpd.bjzone) : sdbankpd.bjzone != null) return false;
    
            return true;
        }

    Обработка резальтов селекта

    timmson666, 20 Февраля 2012

    Комментарии (11)
  4. JavaScript / Говнокод #9459

    +163

    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
    var img = new Array(6);
    			img[0]="for_index.jpg";
    			img[1]="img1.jpg";
    			img[2]="img2.jpg";
    			img[3]="img3.jpg";
    			img[4]="img4.jpg";
    			img[5]="img5.jpg";
    			img[6]="img6.jpg";
    			img[7]="img7.jpg";
    			img[8]="img7.1.jpg";
    			img[9]="img7.2.jpg";
    			img[10]="img7_.jpg";
    			img[11]="img8.jpg";
    			img[12]="img9.jpg";
    			img[13]="img9.1.jpg";
    			img[14]="img9.2.jpg";
    			img[15]="img9.3.jpg";
    			img[16]="img9.4.jpg";
    			img[17]="img9.5.jpg";
    			img[18]="img9.6.jpg";
    			img[19]="img9.7.jpg";
    			img[20]="img9.8.jpg";
    			img[21]="img9.9.jpg";
    			img[22]="img9.10.jpg";
    			img[23]="img9.11.jpg";
    			img[24]="img9.12.jpg";
    			img[25]="img10.jpg";
    			img[26]="img10.1.jpg";
    			img[27]="img11.jpg";
    			img[28]="img11.3.jpg";
    			img[29]="img11.4.jpg";
    			img[30]="img11.5.jpg";
    			img[31]="img11.6.jpg";
    			img[32]="img12.jpg";
    			img[33]="img12.5.jpg";
    			img[34]="img12.6.jpg";
    			img[35]="img12.7.jpg";
    			img[36]="img12.8.jpg";
    			img[37]="img12.9.jpg";
    			img[38]="img12.10.jpg";
    			img[39]="img12.11.jpg";
    			img[40]="img12.12.jpg";
    			img[41]="img13.jpg";
    			img[42]="img14.jpg";
    			img[43]="img14.1.jpg";
    			img[44]="img14.2.jpg";
    			img[45]="img14.3.jpg";
    			img[46]="img14.4.jpg";
    			img[47]="img14.5.jpg";
    			img[48]="img14.6.jpg";
    			img[49]="img15.jpg";
    			img[50]="img15.1.jpg";
    			img[51]="img15.2.jpg";
    			img[52]="img15.3.jpg";
    			img[53]="img15.5.jpg";
    			img[54]="img16.jpg";
    			img[55]="img16.1.jpg";
    			img[56]="img16.3.jpg";
    			img[57]="img16.4.jpg";
    			img[58]="img16.5.jpg";
    			var currentImage=0;
    			function next() {
    				currentImage++;
    				if (currentImage == img.length){
    					currentImage=0;
    				};
    				document.getElementById("pic").src="images/photos/elka2009/big/"+img[currentImage];
    			}
    			function prev() {
    				currentImage--;
    				if (currentImage == -1){
    					currentImage=img.length-1;
    				};
    				document.getElementById("pic").src="images/photos/elka2009/big/"+img[currentImage];
    			}

    madfriend, 16 Февраля 2012

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    $(".left_links li ul li.current_menu_item").parent().show();
    	$(".left_links li ul li ul li.current_menu_item").parent().parent().parent().show();
    	$(".left_links li ul li ul li ul li.current_menu_item").parent().parent().parent().parent().parent().show();
    	$(".left_links li ul li ul li ul li.current_menu_item").parent().parent().parent().parent().parent().parent().parent().show();

    Боковое меню с 5 уровней. Чудо задача показать выбранный пользователем пункт этого меню . Глупейший способ js представлен выше.

    Doodlez, 13 Февраля 2012

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

    +119

    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
    public  static  string      LoadGridDT          (TObjects pList, out DataTable Dt, params object[] pArgs)
    ...              
                    switch (pList)
                    {
                        case TObjects.Radio                 :
                            if (pArgs.Length == 1 && pArgs[0] is int)
                                vLoadResult = Protocol.Radionuclide.Load((int)pArgs[0], out Dt);
                            else if (pArgs.Length > 1 && pArgs[0] is int && pArgs[1] is bool)
                                vLoadResult = Part2.Radionuclide.Load((int)pArgs[0], out Dt);
                            else vLoadResult = Radionuclide.Load(out Dt);
                            break;
                        case TObjects.Protocol              :
                            // [0](int): Тип протокола; [1](int): Очередь; [2](bool): Активность; [3](int): Объект
                    if (pArgs.Length > 3 && pArgs[0] is int && pArgs[1] is int && pArgs[2] is bool && pArgs[3] is int)
                        if (pArgs.Length > 4 && pArgs[4] is int)
                            vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], (int)pArgs[3], (bool)pArgs[2], out Dt, (int)pArgs[4]);
                        else
                        {
                            if (pArgs.Length > 4 && pArgs[4] is bool && (bool)pArgs[4] == true) // 5-й аргумент для загрузки детализированного списка протоколов с учетом объекта отбора
                                vLoadResult = Protocol.Load((int)pArgs[0], (int)pArgs[1], (int)pArgs[3], (bool)pArgs[2], out Dt);
                            else // недетализированный список протоколов с учетом объекта отбора
                                vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], (int)pArgs[3], (bool)pArgs[2], out Dt);
                        }
                    else
                    // [0](List<int>): Типы протокола; [1](int): Очередь; [2](int): Id место отбора; [3](bool): Активность
                    if (pArgs.Length > 3 && pArgs[0] is List<int> && pArgs[1] is int && pArgs[2] is int && pArgs[3] is bool)
                        if (pArgs.Length > 4 && pArgs[4] is int)
                            vLoadResult = Protocol.LoadList((List<int>)pArgs[0], (int)pArgs[1], (int)pArgs[2], (bool)pArgs[3], out Dt, (int)pArgs[4]);
                        else
                            vLoadResult = Protocol.Load((List<int>)pArgs[0], (int)pArgs[1], (int)pArgs[2], (bool)pArgs[3], out Dt);
                    else
                    // [0](List<int>): Типы протокола; [1](int): Очередь; [2](bool): Активность
                    if (pArgs.Length > 2 && pArgs[0] is List<int> && pArgs[1] is int && pArgs[2] is bool)
                        if (pArgs.Length > 3 && pArgs[3] is int)
                            vLoadResult = Protocol.LoadList((List<int>)pArgs[0], (int)pArgs[1], (bool)pArgs[2], out Dt, (int)pArgs[3]);
                        else
                            vLoadResult = Protocol.LoadList((List<int>)pArgs[0], (int)pArgs[1], (bool)pArgs[2], out Dt);
                    else
                    // [0](int): Тип протокола; [1](int): Очередь; [2](bool): Активность;
                    if (pArgs.Length > 2 && pArgs[0] is int && pArgs[1] is int && pArgs[2] is bool)
                        if (pArgs.Length > 4 && pArgs[3] is bool && pArgs[4] is int)
                            vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], (bool)pArgs[2], out Dt, (int)pArgs[4]);
                        else
                            vLoadResult = Protocol.Load((int)pArgs[0], (int)pArgs[1], (bool)pArgs[2], out Dt);
                    else
                    // [0](int): Тип протокола; [1](int): Очередь
                    if (pArgs.Length > 1 && pArgs[0] is int && pArgs[1] is int)
                        if (pArgs.Length > 2 && pArgs[2] is int)
                            vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], out Dt, (int)pArgs[2]);
                        else
                            vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], out Dt);
                    else
    ...

    Метод 500+ вот такого рода строк...

    gcoder, 08 Февраля 2012

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

    +159

    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
    switch ($_SERVER['REQUEST_URI']) {
    
    	case "/technics/items.php?SECTION_ID=2395":
    			 LocalRedirect('/tele_video/televizory_led/televizor_led', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2395&brend=94279":
    			 LocalRedirect('/tele_video/televizory_led/televizor_led-lg', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2396&brend=94292":
    			 LocalRedirect('/tele_video/televizory_zhk/televizor_zhk-philips', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2397":
    			 LocalRedirect('/tele_video/televizory_plazmennye/televizor_plazmennyy', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2407&brend=94413":
    			 LocalRedirect('/tekhnika_dlya_doma/stiralnye_mashiny/stiralnaya_mashina-lg', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2407&brend=99348":
    			 LocalRedirect('/tekhnika_dlya_doma/stiralnye_mashiny/stiralnaya_mashina-bosch', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2407&brend=99402":
    			 LocalRedirect('/tekhnika_dlya_doma/stiralnye_mashiny/stiralnaya_mashina-indesit', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2407&brend=99413":
    			 LocalRedirect('/tekhnika_dlya_doma/stiralnye_mashiny/stiralnaya_mashina-samsung', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2407&brend=99518":
    			 LocalRedirect('/tekhnika_dlya_doma/stiralnye_mashiny/stiralnaya_mashina-hotpoint_ariston', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2408&brend=94434":
    			 LocalRedirect('/tekhnika_dlya_doma/kholodilniki/kholodilnik-lg', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2408&brend=94440":
    			 LocalRedirect('/tekhnika_dlya_doma/kholodilniki/kholodilnik-atlant', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2408&brend=99353":
    			 LocalRedirect('/tekhnika_dlya_doma/kholodilniki/kholodilnik-bosch', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2408&brend=99407":
    			 LocalRedirect('/tekhnika_dlya_doma/kholodilniki/kholodilnik-indesit', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2408&brend=99448":
    			 LocalRedirect('/tekhnika_dlya_doma/kholodilniki/kholodilnik-samsung', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2408&brend=99513":
    			 LocalRedirect('/tekhnika_dlya_doma/kholodilniki/kholodilnik-hotpoint_ariston', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?group=94355&SECTION_ID=2401":
    			 LocalRedirect('/kukhnya/vstraivaemaya_tekhnika/kholodilnik', false, '301 Moved Permanently'); die(); 
    			break;
    	case "/technics/items.php?SECTION_ID=2396":
    			 LocalRedirect('/tele_video/televizory_zhk/televizor_zhk-philips', false, '301 Moved Permanently'); die(); 
    			break;
    		
    	}

    Вот такое чудо сегодня выкатил разработчик со стороны заказчика ))
    и это еще не все адреса...

    ast, 07 Февраля 2012

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

    −119

    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
    CREATE TABLE BOOL_TABLE
    (
    	BOOL_ID bit NOT NULL,
    	BOOL_NAME varchar(3) NOT NULL
    ) ON PRIMARY
    
    INSERT INTO BOOL_TABLE (BOOL_ID, BOOL_NAME)
    VALUES (0, 'Да')
    
    INSERT INTO BOOL_TABLE (BOOL_ID, BOOL_NAME)
    VALUES (1, 'Нет')
    
    EXEC sys.sp_addextendedproperty 
    @name=N'MS_Description'
    , @value=N'Технологическая таблица для преобразования булевых значений (0,1) в текст (Нет, Да)' 
    , @level0type=N'SCHEMA'
    ,@level0name=N'dbo'
    , @level1type=N'TABLE'
    ,@level1name=N'BOOL_TABLE'
    GO

    Капитан какбэ намекает...

    HellMaster_HaiL, 02 Февраля 2012

    Комментарии (11)
  9. Java / Говнокод #9175

    +142

    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
    private void run() throws Exception {
    		Scanner s = new Scanner(new File("input.txt"));
    		PrintWriter p = new PrintWriter(new File("output.txt"));
    		
    		int n = s.nextInt();
    		int sum = 0;
    		
    		init();
    		
    		for(int i = 1; i <= n; i++) {
    			sum += find(i);
    		}
    		
    		p.print(sum);
    		
    		s.close();
    		p.close();
    	}
    	
    	private void init() {
    		for(int i = 0; i < 100; i++) {
    			pow_2[i] = (int) Math.pow(2, i + 1);
    		}
    		
    		for(int i = 0; i < 100; i++) {
    			pow_3[i] = (int) Math.pow(3, i + 1);
    		}
    		
    		for(int i = 0; i < 100; i++) {
    			pow_4[i] = (int) Math.pow(4, i + 1);
    		}
    		
    		for(int i = 0; i < 100; i++) {
    			pow_5[i] = (int) Math.pow(5, i + 1);
    		}
    	}
    	
    	private int find(int num) {
    		for(int i = 0; i < 100; i++) {
    			if(pow_2[i] == num) return 2;
    			if(num > pow_2[99]) break;
    		}
    		
    		for(int i = 0; i < 100; i++) {
    			if(pow_3[i] == num) return 3;
    			if(num > pow_3[99]) break;
    		}
    		
    		for(int i = 0; i < 100; i++) {
    			if(pow_4[i] == num) return 4;
    			if(num > pow_4[99]) break;
    		}
    		
    		for(int i = 0; i < 100; i++) {
    			if(pow_5[i] == num) return 5;
    			if(num > pow_5[99]) break;
    		}
    		
    		return 0;
    	}

    Говнолаба... есть идеи как оптимизировать по скорости?

    Nyashka, 19 Января 2012

    Комментарии (11)
  10. Java / Говнокод #9146

    +69

    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
    package com.govnoistochnik.servleti;
    
    ...
     
    import javax.servlet.GenericServlet;
    ...
     
    public class GenericReportingServlet extends GenericServlet {
    
    ...
    
    public synchronized void  createReport(...)
    {
    // pessot strok govnokoda
    }
    
    public synchronized void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
    // Kucha govnokoda
       createReport(...);
    // Prodoljeniye kuchi
    }
    
     ...
     
    }

    Хороший пример как сделать однопоточный репортинг сервер.

    Обратите внимание на "synchronized".
    Результат:
    1) Мах Session (200).
    2) Жрёт всю память
    3) Сервер виснет. Никакой Psi prob, Lambda prob ету гадину не выявит.
    4) Хрен найдёшь почему говняет если кода нет.

    kirpi, 17 Января 2012

    Комментарии (11)
  11. Pascal / Говнокод #9101

    +84

    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
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    {$N+}
    const
    n=5;
    n2=2*n;
    type tRow=array[1..n] of 0..1;
    rRow=array[1..n] of 0..1;
    type tMatrix=array[1..n,1..n2] of double;
    wMatrix=array[1..n,1..n2] of double;
    procedure NewMatrix(var a: tMatrix; n,n2: word; x: double);           var           i,j: word;
              begin
              randomize;
              for i:=1 to n do
              for j:=1 to n2 do
                  a[i,j]:=-2*x+random(Round(4*x));
              end;
    procedure ProcMatrix(var a: tMatrix; n,n2: word; x: double; var b: tRow);          var          i,j: word;
              begin
              for i:=1 to n do
              for j:=1 to n2 do
                  if a[i,j]<=x then b[i]:=1 else
                     begin
                     b[i]:=0;
                     break;
                     end;
              end;
    procedure WriteMatrix(var a: tMatrix; n,n2: word);          var          i,j: word;
              begin
              for i:=1 to n do
                  begin
                  for j:=1 to n2 do write(a[i,j]:6:2);
                  writeln('');
                  end;
              end;
    procedure WriteRow(var b: tRow; n: word);          var          i: word;
              begin
              for i:=1 to n do write(b[i]:2);
              writeln('');
              end;
     procedure NewMatrix1(var q: wMatrix; n,n2: word; x: double);          var          i,j: word;
              begin
              randomize;
              for i:=1 to n do
              for j:=1 to n2 do
                  q[i,j]:=-1.1*x+random(Round(4*x));
              end;
    procedure ProcMatrix1(var q: wMatrix; n,n2: word; x: double; var e: rRow);          var          i,j: word;
              begin
              for i:=1 to n do
              for j:=1 to n2 do
                  if q[i,j]<=x then e[i]:=1 else
                     begin
                     e[i]:=0;
                     break;
                     end;
              end;
    procedure WriteMatrix1(var q: wMatrix; n,n2: word);          var          i,j: word;
              begin
              for i:=1 to n do
                  begin
                  for j:=1 to n2 do write(q[i,j]:6:2);
                  writeln('');
                  end;
              end;
    procedure WriteRow1(var e: rRow; n: word);          var          i: word;
              begin
              for i:=1 to n do write(e[i]:2);
              writeln('');
              end;
    var
    bRow: tRow;
    eRow: rRow;
    aMatrix: tMatrix;
    qMatrix: wMatrix;
    x: double;
    begin
    write('‚ўҐ¤ЁвҐ ўҐйҐб⢥­­®Ґ зЁб«® е: ');
    readln(x);
    NewMatrix(aMatrix,n,n2,x);
    writeln('Њ ваЁж  ',n,'x',n2,' 楫ле зЁбҐ« бд®а¬Ёа®ў ­   ўв®¬ вЁзҐбЄЁ:');
    WriteMatrix(aMatrix,n,n2);
    NewMatrix1(qMatrix,n,n2,x);
    writeln('Њ ваЁж  ',n,'x',n2,' 楫ле зЁбҐ« бд®а¬Ёа®ў ­   ўв®¬ вЁзҐбЄЁ:');
    WriteMatrix1(qMatrix,n,n2);
    ProcMatrix(aMatrix,n,n2,x,bRow);
    writeln('Њ ваЁж  ®Ўа Ў®в ­ . Џ®б«Ґ¤®ў вҐ«м­®бвм b[1]..b[',n,'] бд®а¬г«Ёа®ў ­ ');
    WriteRow(bRow,n);
    ProcMatrix1(qMatrix,n,n2,x,eRow);
    writeln('Њ ваЁж  ®Ўа Ў®в ­ . Џ®б«Ґ¤®ў вҐ«м­®бвм b[1]..b[',n,'] бд®а¬г«Ёа®ў ­ ');
    WriteRow1(eRow,n);
    writeln('Ќ ¦¬ЁвҐ ENTER');
    readln;
    end.

    Процедуры.
    Даны натуральное число n, действительное число x и две действительные матрицы размера nx2n. Получить последовательность b1,..., bn из нулей и единиц, где bi =1, если элементы i-ой строки матрицы не превосходят x и bi =0 в противном случае.

    siszzz, 12 Января 2012

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