1. C# / Говнокод #1722

    +138.3

    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
    /*А вот так РНР программисты пишут код для ASP.NET.
    См проверку типов*/
    
    protected HttpContext CurrentContext
    {
     get {
      return _context;
     }
     set {
      if (typeof(HttpContext) == value.GetType())
       _context = value;
      else
       //...
     }
    }

    ArbuzOFF, 29 Августа 2009

    Комментарии (3)
  2. PHP / Говнокод #1721

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function doSomething(){
    
      static firstTime = true;
    
      if (firstTime){
        //Этот код исполнится только при первом обращении к функции
      }
    //Этот код будет выполнятся при каждом обращении к функции
    }

    Пример взят из книги (дословно)...

    Bartelby, 29 Августа 2009

    Комментарии (7)
  3. ActionScript / Говнокод #1720

    −97.5

    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
    //-------------------РИСОВАНИЕ и МАТЕМАТИКА--------------------------------
    //Рендерить сцену
    _root.onEnterFrame = render;
    
    //Функция отрисовки текущего положения
    function render()
    {
    	if (enable_anim)		//Рисовать только ЕСЛИ разрешена анимация, т.е. файл загружен
    	{
    		empty.clear();		//Очистка области для рисования
    		for (obj in arr_m)	//Пройтись по всем элементам кинематической схемы
    		{
    			switch(arr_m[obj].type){
    				case "crank":  /*type="0" l="50" angle="0" s0="2" s1="1"*/
    					//Кривошип
    					//trace(arr_m[obj].type);
    					//trace(arr_m[obj].num + " " + arr_m[obj].angle);
    					empty["arr_o"+arr_m[obj].s1]._x = empty["arr_o"+arr_m[obj].s0]._x +arr_m[obj].l*Math.cos(arr_m[obj].angle*k);
    					empty["arr_o"+arr_m[obj].s1]._y = empty["arr_o"+arr_m[obj].s0]._y +arr_m[obj].l*Math.sin(arr_m[obj].angle*k);
    					
    					if (enable_dv) //------------------------Движение звена разрешено-------
    					{
    						arr_m[obj].angle += 0.3; 
    						if (arr_m[obj].angle >= 360)
    						{ 
    							arr_m[obj].angle = 0;
    						}
    					}
    						
    					//Невидимка
    					if(arr_m[obj].hidden) continue;					
    					empty.lineStyle(2,0x404040);					empty.moveTo(empty["arr_o"+arr_m[obj].s0]._x,empty["arr_o"+arr_m[obj].s0]._y);
    					empty.lineTo(empty["arr_o"+arr_m[obj].s1]._x,empty["arr_o"+arr_m[obj].s1]._y);
    				break;
    				case "1":  /*type="1" l1="100" l2="100" s0="2" s1="3" s2="4"*/
    					//шатун + коромысло
    					//trace(arr_m[obj].type);
    					
    					var x0 = empty["arr_o"+arr_m[obj].s0]._x;
    					var y0 = empty["arr_o"+arr_m[obj].s0]._y;
    					var x1 = empty["arr_o"+arr_m[obj].s1]._x;
    					var y1 = empty["arr_o"+arr_m[obj].s1]._y;
    					
    					var r = distance(x0, y0, x1, y1);
    					var a0 = Math.acos((Math.pow(arr_m[obj].l1,2) + Math.pow(r,2) - Math.pow(arr_m[obj].l2,2))/(2*arr_m[obj].l1*r));
    					var a1 = get_angle(x0, y0, x1, y1); 
    					
    					var x2 = x0 + arr_m[obj].l1 * Math.cos(a1 - a0);
    					var y2 = y0 + arr_m[obj].l1 * Math.sin(a1 - a0);
    					//trace(a1/k);
    					
    					empty["arr_o"+arr_m[obj].s2]._x = x2;
    					empty["arr_o"+arr_m[obj].s2]._y = y2;
    					
    					//Невидимка
    					if(arr_m[obj].hidden) continue;
    					
    					empty.lineStyle(2,0x404040);
    					empty.moveTo(x0,y0);
    					empty.lineTo(x2,y2);
    					empty.lineTo(x1,y1);					
    				break;
    //... Тут еще очень много таких кейсов
    		}
    	}
    }

    Давненько писал на симулятор механический, это функция апдейта всех элементов.
    Что в остальном коде, догадаться несложно.

    Werdn, 29 Августа 2009

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $a2="$a1"; $b2="$b1"; $c2="$c1"; $d2="$d1";
    $file=fopen("news.inc.php", "a+");
    fputs($file, "news($a2,\"$b2\",\"$c2\",\"$d2\");\n");
    fflush($file);
    fclose($file);

    Спертый пару лет назад скрипт добавления новостей. База хранится в виде кучи функций news()...

    print, 29 Августа 2009

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

    +58.1

    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
    switch (_Event) 
      {
      case LEVEL_EVENT_Stomp:
        if (_Param1 == 53)
        {
          Level_BeginThread(0, 500);
        }
        break;
      }
      switch (_Event) 
      {
      case LEVEL_EVENT_Stomp:
        if (_Param1 == 54)
        {
          Level_BeginThread(1, 500);
        }
        break;
      }
      switch (_Event) 
      {
      case LEVEL_EVENT_Stomp:
        if (_Param1 == 57)
        {
          Level_BeginThread(2, 500);
        }
        break;
      }
      switch (_Event) 
      {
      case LEVEL_EVENT_Stomp:
        if (_Param1 == 58)
        {
          Level_BeginThread(3, 500);
        }
        break;
      }
      switch (_Event) 
      {
      case LEVEL_EVENT_Stomp:
        if (_Param1 == 58)
        {
          Level_BeginThread(3, 500);
        }
        break;
      }
      switch (_Event) 
      {
      case LEVEL_EVENT_Stomp:
        if (_Param1 == 59)
        {
          Level_BeginThread(4, 500);
        }
        break;
      }

    Кусочек скрипта уровня одной игрушки. Вот что значит, если дизайнер не знает языка... Копипаст форева!!!АдинАдинАдин

    JohnnyIpcom, 28 Августа 2009

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

    +139

    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
    public void Recalculate(List<DateTime> weekDates,List<HistoricalRateOccurence> historicalRates) {
                UnitsTotal = MonUnits + TuesUnits + WedsUnits + ThursUnits + FriUnits + SatUnits + SunUnits;
                if (historicalRates.Count == 0) {
                    PayAmount = UnitsTotal*PayRate;
                }else {
                    for (int i = 0; i < weekDates.Count; i++) {
                        switch (i) {
                            case 0:
                                PayAmount += MonUnits*GetPayRateForDay(PayRate, weekDates[i], historicalRates);
                                break;
                            case 1:
                                PayAmount += TuesUnits * GetPayRateForDay(PayRate, weekDates[i], historicalRates);
                                break;                            
                            case 2:
                                PayAmount += WedsUnits * GetPayRateForDay(PayRate, weekDates[i], historicalRates);
                                break;                            
                            case 3:
                                PayAmount += ThursUnits * GetPayRateForDay(PayRate, weekDates[i], historicalRates);
                                break;                            
                            case 4:
                                PayAmount += FriUnits * GetPayRateForDay(PayRate, weekDates[i], historicalRates);
                                break;
    
                        }
                    }
                }
                ChargeAmount = UnitsTotal * AmsBillRate;
            }

    Никогда не доверяй циклу!

    xrundelek, 28 Августа 2009

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

    +136.2

    1. 1
    2. 2
    3. 3
    var ids = form.Keys;
    
    if(ids.Length == 0 || ids.Length > 1) { throw Exception;}

    кидать исключение если ids.Length !=1

    xrundelek, 28 Августа 2009

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

    +150.9

    1. 1
    $date = mktime(0,0,0, date("m",time()), date("d",time()), date("Y",time()));

    gorvic, 28 Августа 2009

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

    +151

    1. 1
    @filemtime($cache_f) < time()-(600+((integer)rand(-100,100)))

    плавающий кеш? о_О

    gorvic, 28 Августа 2009

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

    +157.2

    1. 1
    if(preg_match("/\.[gjpi][ipnc][fgo]/i", $_SERVER['REQUEST_URI'])) exit;

    gorvic, 28 Августа 2009

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