1. PHP / Говнокод #6324

    +165

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function writeln($str) {
        echo $str."\n";
    }
    
    function readln() {
        $handle = fopen ("php://stdin","r");
        $line = fgets($handle);
        fclose($handle);
        return $line;
    }

    Функции для реализации ввода и вывода PHP-CGI в режиме консоли

    Мартин, 12 Апреля 2011

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

    +150

    1. 1
    2. 2
    nPosition = !bInvert ? data->pos_back
                                       : data->pos_front;

    Aleskey, 12 Апреля 2011

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

    +161

    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
    if(trim($_POST['Event_Name']) != '') {
          if(trim($_POST['StartDate']) != '') {
            if(trim($_POST['EndDate']) != '') {
              if(trim($_POST['EndDate']) != '') {
                if(trim($_POST['Community_Id']) != 0) {
                  if(trim($_POST['Event_Location']) != '') {
                    if(trim($_POST['Event_Latitude']) != '' && is_numeric($_POST['Event_Latitude'])) {
                      if(trim($_POST['Event_Longitude']) != '' && is_numeric($_POST['Event_Longitude'])) {
                        
                         ...................................................
                        // Далее много строк страшного кода с вызовами самописных методов для работы с датой. Аля:
                          $hrs = _ampmto24hrs($hrs, $ampm);
                          $StartDateTime = dateandtime2timestamp($_POST['StartDate'], $hrs, $mins);
                       .....................................................
                        // Далее формируется SQL код. Привожу интересный кусок и обращаю внимание на название полей таблицы, вида Darren_XXXXXXX. 
                        // Darren - имя заказчика
                          $sql .= "`Event_Featured` = '".(($_POST['Event_Featured'] == 'on')?'True':'False')."', ".
                            "`Submitters_Email` = '', ".
                            "`Darren_EventDisplayName` = '"._clean($_POST['Darren_EventDisplayName'])."', ".
                            "`Darren_ShortDesc` = '"._clean($_POST['Darren_ShortDesc'])."', ".
                            "`Darren_Desc` = '"._clean($_POST['Darren_Desc'])."', ".
                    ........................................................
                      // Заканчивается сие безобразие все тем же забором
                           } else  {
                            $error['error_mistake'] = true;
                          }
                        } else {
                          $error['error'] = true;
                          $error['Event_URL'] = true;
                        }
                      } else {
                        $error['error'] = true;
                        $error['Event_Longitude'] = true;
                      }
                    } else {
                      $error['error'] = true;
                      $error['Event_Latitude'] = true;
                    }
                  } else {
                    $error['error'] = true;
                    $error['Event_Location'] = true;
                  }
                } else {
                  $error['error'] = true;
                  $error['Community_Id'] = true;
                }
              } else {
                $error['error'] = true;
                $error['EndDate'] = true;
              }
            } else {
              $error['error'] = true;
              $error['EndDate'] = true;
            }
          } else {
            $error['error'] = true;
            $error['StartDate'] = true;
          }
        } else {
          $error['error'] = true;
          $error['Event_Name'] = true;
        }

    А вот визитная карточка автора этого кода: date_default_timezone_set('Asia/Calcutta'). Думаю, что этим все сказано.

    SunnyMagadan, 12 Апреля 2011

    Комментарии (8)
  4. Python / Говнокод #6321

    −181

    1. 1
    2. 2
    3. 3
    4. 4
    if str(type(code_text)) == "<type 'str'>":
        code = self.errors[code_text]
    else:
        code = code_text

    Случайно найдено на просторах гуглокода

    winter, 12 Апреля 2011

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

    +74

    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
    public class BeanWrapperImpl extends AbstractPropertyAccessor implements BeanWrapper {
             @SuppressWarnings("unchecked")
             private void setPropertyValue(PropertyTokenHolder tokens, PropertyValue pv) throws BeansException {
    		String propertyName = tokens.canonicalName;
    		String actualName = tokens.actualName;
    
    		if (tokens.keys != null) {
    			// Apply indexes and map keys: fetch value for all keys but the last one.
    			PropertyTokenHolder getterTokens = new PropertyTokenHolder();
    			getterTokens.canonicalName = tokens.canonicalName;
    			getterTokens.actualName = tokens.actualName;
    			getterTokens.keys = new String[tokens.keys.length - 1];
    			System.arraycopy(tokens.keys, 0, getterTokens.keys, 0, tokens.keys.length - 1);
    			Object propValue;
    			try {
    				propValue = getPropertyValue(getterTokens);
    			}
    			catch (NotReadablePropertyException ex) {
    				throw new NotWritablePropertyException(getRootClass(), this.nestedPath + propertyName,
    						"Cannot access indexed value in property referenced " +
    						"in indexed property path '" + propertyName + "'", ex);
    			}
    			// Set value for last key.
    			String key = tokens.keys[tokens.keys.length - 1];
    			if (propValue == null) {
    				throw new NullValueInNestedPathException(getRootClass(), this.nestedPath + propertyName,
    						"Cannot access indexed value in property referenced " +
    						"in indexed property path '" + propertyName + "': returned null");
    			}
    			else if (propValue.getClass().isArray()) {
    				PropertyDescriptor pd = getCachedIntrospectionResults().getPropertyDescriptor(actualName);
    				Class requiredType = propValue.getClass().getComponentType();
    				int arrayIndex = Integer.parseInt(key);
    				Object oldValue = null;
    				try {
    					if (isExtractOldValueForEditor()) {
    						oldValue = Array.get(propValue, arrayIndex);
    					}
    					Object convertedValue = convertIfNecessary(propertyName, oldValue, pv.getValue(), requiredType,
    							new PropertyTypeDescriptor(pd, new MethodParameter(pd.getReadMethod(), -1), requiredType));
    					Array.set(propValue, arrayIndex, convertedValue);
    				}
    				catch (IndexOutOfBoundsException ex) {
    					throw new InvalidPropertyException(getRootClass(), this.nestedPath + propertyName,
    							"Invalid array index in property path '" + propertyName + "'", ex);
    				}
    			}
    			else if (propValue instanceof List) {
    				PropertyDescriptor pd = getCachedIntrospectionResults().getPropertyDescriptor(actualName);
    				Class requiredType = GenericCollectionTypeResolver.getCollectionReturnType(
    						pd.getReadMethod(), tokens.keys.length);
    				List list = (List) propValue;
    				int index = Integer.parseInt(key);
    				Object oldValue = null;
    				if (isExtractOldValueForEditor() && index < list.size()) {
    					oldValue = list.get(index);
    				}
    				Object convertedValue = convertIfNecessary(propertyName, oldValue, pv.getValue(), requiredType,
    						new PropertyTypeDescriptor(pd, new MethodParameter(pd.getReadMethod(), -1), requiredType));
    				if (index < list.size()) {
    					list.set(index, convertedValue);
    				}
    				else if (index >= list.size()) {
    					for (int i = list.size(); i < index; i++) {
    						try {
    							list.add(null);
    						}
    						catch (NullPointerException ex) {
    							throw new InvalidPropertyException(getRootClass(), this.nestedPath + propertyName,
    									"Cannot set element with index " + index + " in List of size " +
    									list.size() + ", accessed using property path '" + propertyName +
    									"': List does not support filling up gaps with null elements");
    						}
    					}
    					list.add(convertedValue);
    				}
    			}
    			else if (propValue instanceof Map) {
    			      //...
                             }
                      }
             }
    }

    Spring...

    nikelin, 12 Апреля 2011

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

    +94

    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
    program Oracle;
    
    {$APPTYPE CONSOLE}
    
    uses
      SysUtils;
    
    Var
      sQuestion : String;
      i : ShortInt;
      bAnswer : Boolean;
    Label lExit, lAnswer;
    BEGIN
     bAnswer := true;
     WriteLn('Input question: ');
     lAnswer: Read(sQuestion);
    
     If Length(sQuestion) < 4 then
      Begin
        WriteLn('What "' + sQuestion + '"?');
        Goto lAnswer;
      End;
    
    
     If sQuestion[Length(sQuestion)] <> '?' then
      Begin
        WriteLn('It`s not a question.');
        Goto lExit;
      End;
    
     Randomize;
     If Random(10) = 1 then
      Begin
        WriteLn('But why you ask?');
        Goto lExit;
      End;
    
      For i := 1 to Length(sQuestion) do
       If bAnswer = true then bAnswer := false
        Else bAnswer := false;
    
      If bAnswer = true then WriteLn('Yes.')
       Else WriteLn('No.');
    
     lExit: Readln;
    END.

    > Input question:
    > Лурк гавно?
    > No.
    > А ты всегда даешь верные ответы?
    > No.
    > В смысле?
    > What "В смысле?".
    > Ну, в прямом.
    > It`s not a question.
    > Ты будешь отвечать на мой вопрос???
    > No.
    > Тогда иди нахуй.
    > Сам иди нахуй.
    > 0_o

    Govnocoder#0xFF, 12 Апреля 2011

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

    +154

    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
    function sajax_get_common_js() {
        global $sajax_debug_mode;
        global $sajax_request_type;
        global $sajax_remote_uri;
    
        $t = strtoupper($sajax_request_type);
        if ($t != "GET" && $t != "POST")
          return "// Invalid type: $t.. \n\n";
    
        ob_start();
        ?>
    
        // remote scripting library
        // (c) copyright 2005 modernmethod, inc
        var sajax_debug_mode = <?php echo $sajax_debug_mode ? "true" : "false"; ?>;
        var sajax_request_type = "<?php echo $t; ?>";
    
        function sajax_debug(text) {
          if (sajax_debug_mode)
            alert("RSD: " + text)
        }
        function sajax_init_object() {
          sajax_debug("sajax_init_object() called..")
    
          var A;
          try {
            A=new ActiveXObject("Msxml2.XMLHTTP");
          } catch (e) {
            try {
              A=new ActiveXObject("Microsoft.XMLHTTP");
            } catch (oc) {
              A=null;
            }
          }
          if(!A && typeof XMLHttpRequest != "undefined")
            A = new XMLHttpRequest();
          if (!A)
            sajax_debug("Could not create connection object.");
          return A;
        }
        function sajax_do_call(func_name, args) {
          var i, x, n;
          var uri;
          var post_data;
    
          uri = "<?php echo $sajax_remote_uri; ?>";
          if (sajax_request_type == "GET") {
            if (uri.indexOf("?") == -1)
              uri = uri + "?rs=" + escape(func_name);
            else
              uri = uri + "&rs=" + escape(func_name);
            for (i = 0; i < args.length-1; i++)
              uri = uri + "&rsargs[]=" + escape(args[i]);
            uri = uri + "&rsrnd=" + new Date().getTime();
            post_data = null;
          } else {
            post_data = "rs=" + escape(func_name);
            for (i = 0; i < args.length-1; i++)
              post_data = post_data + "&rsargs[]=" + escape(args[i]);
          }
    
          x = sajax_init_object();
          x.open(sajax_request_type, uri, true);
          if (sajax_request_type == "POST") {
            x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
            x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
          }
          x.onreadystatechange = function() {
            if (x.readyState != 4)
              return;
            sajax_debug("received " + x.responseText);
    
            var status;
            var data;
            status = x.responseText.charAt(0);
            data = x.responseText.substring(2);
            if (status == "-")
              alert("Error: " + data);
            else
              args[args.length-1](data);
          }
          x.send(post_data);
          sajax_debug(func_name + " uri = " + uri + "/post = " + post_data);
          sajax_debug(func_name + " waiting..");
          delete x;
        }
    
        <?php
        $html = ob_get_contents();
        ob_end_clean();
        return $html;
      }

    Из PHPList
    PHP и JS в перемешку.

    Это печально...

    rO_ot, 12 Апреля 2011

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

    +116

    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
    public struct RowForReportBookRecordIssue
    	{
    		public string Column1 { get; set; }
    		public string Column2 { get; set; }
    		public string Column3 { get; set; }
    		public string Column4 { get; set; }
    		public string Column5 { get; set; }
    		public string Column6 { get; set; }
    		public string Column7 { get; set; }
    		public string Column8 { get; set; }
    		public string Column9 { get; set; }
    		public string Column10 { get; set; }
    	}

    Использование соответствующее:
    RowForReportBookRecordIssue.Column1 = ...; RowForReportBookRecordIssue.Column2 = ...;
    Даже страшно, если что-то придется править... :(

    fr0mrus, 12 Апреля 2011

    Комментарии (9)
  9. SQL / Говнокод #6315

    −856

    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
    ALTER   PROCEDURE Estimate  @Goods_ID int ,@Workshop_ID int AS
    
    SELECT 9, null, null,  'Арматура',null, null ,  null,  null
    Union
    SELECT     8, dbo.Charges.FK_TypeCh, dbo.Charges.ID, '       '+dbo.Charges.NAME, dbo.Charge_Price.KBO,   
    	             dbo.Charges.Cost, Round(dbo.Charges.Cost*dbo.Charge_Price.KBO,1), 
    		Round( dbo.Charges.Cost*dbo.Charge_Price.KBO/ dbo.Goods.volume,1)
    FROM         dbo.Charge_Price INNER JOIN
                          dbo.Charges ON dbo.Charge_Price.FK_Charge = dbo.Charges.ID INNER JOIN
                          dbo.Workshop ON dbo.Charge_Price.FK_Workshop = dbo.Workshop.ID INNER JOIN
    	        dbo.Goods ON dbo.Charge_Price.FK_Goods= dbo.Goods.ID	
    WHERE     (dbo.Charge_Price.FK_Workshop = 6) AND (dbo.Charge_Price.FK_Goods = @Goods_ID)
    Union
    SELECT     7, null, null,'         Всего  по арматуре', null,   null,Round( SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO) ,1)as Сумма, 
    	Round(SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO/ dbo.Goods.volume),1)
    FROM         dbo.Charge_Price INNER JOIN
    	      dbo.Charges ON dbo.Charge_Price.FK_Charge = dbo.Charges.ID INNER JOIN
                        dbo.Workshop ON dbo.Charge_Price.FK_Workshop = dbo.Workshop.ID INNER JOIN
    	        dbo.Goods ON dbo.Charge_Price.FK_Goods= dbo.Goods.ID	
    WHERE     (dbo.Charge_Price.FK_Workshop = 6) AND (dbo.Charge_Price.FK_Goods = @Goods_ID)
    Union
    /*
      Ещё мурнадцать запросов с объединением
    */
    UNION
    SELECT     -3,  null, null,'         Полная себестоимость',   null, null, Round(SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO)*1.05,1) as Сумма, 
    	Round(SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO/ dbo.Goods.volume)*1.05,1)
    FROM         dbo.Charge_Price INNER JOIN
    	      dbo.Charges ON dbo.Charge_Price.FK_Charge = dbo.Charges.ID INNER JOIN
                        dbo.Workshop ON dbo.Charge_Price.FK_Workshop = dbo.Workshop.ID INNER JOIN
    	        dbo.Goods ON dbo.Charge_Price.FK_Goods= dbo.Goods.ID	
    WHERE    ( (dbo.Charge_Price.FK_Workshop = @Workshop_ID)  OR  (dbo.Charge_Price.FK_Workshop = 6)   OR
    		 (dbo.Charge_Price.FK_Workshop = 7) )AND (dbo.Charge_Price.FK_Goods = @Goods_ID) 
    UNION 
    SELECT     -4,  null, null,'         Плановые накопления',   null, null, Round(SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO)*0.1575,1) as Сумма, 
    	Round(SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO/ dbo.Goods.volume)*0,1575,1)
    FROM         dbo.Charge_Price INNER JOIN
    	      dbo.Charges ON dbo.Charge_Price.FK_Charge = dbo.Charges.ID INNER JOIN
                        dbo.Workshop ON dbo.Charge_Price.FK_Workshop = dbo.Workshop.ID INNER JOIN
    	        dbo.Goods ON dbo.Charge_Price.FK_Goods= dbo.Goods.ID	
    WHERE    ( (dbo.Charge_Price.FK_Workshop = @Workshop_ID)  OR  (dbo.Charge_Price.FK_Workshop = 6)   OR
    		 (dbo.Charge_Price.FK_Workshop = 7) )AND (dbo.Charge_Price.FK_Goods = @Goods_ID) 
    UNION
    SELECT     -5,  null, null,'         Цена оптовая',   null, null, Round(SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO)*1.2075,1) as Сумма, 
    	Round(SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO/ dbo.Goods.volume)*1,2075,1)
    FROM         dbo.Charge_Price INNER JOIN
    	      dbo.Charges ON dbo.Charge_Price.FK_Charge = dbo.Charges.ID INNER JOIN
                        dbo.Workshop ON dbo.Charge_Price.FK_Workshop = dbo.Workshop.ID INNER JOIN
    	        dbo.Goods ON dbo.Charge_Price.FK_Goods= dbo.Goods.ID	
    WHERE    ( (dbo.Charge_Price.FK_Workshop = @Workshop_ID)  OR  (dbo.Charge_Price.FK_Workshop = 6)   OR
    		 (dbo.Charge_Price.FK_Workshop = 7) )AND (dbo.Charge_Price.FK_Goods = @Goods_ID) 
    
    Order by 1 desc, 2, 3

    Формирование какой то сметы в стле 1С

    dens, 12 Апреля 2011

    Комментарии (8)
  10. JavaScript / Говнокод #6314

    +157

    1. 1
    var is_ie = !(navigator.appName.indexOf("Netscape") != -1);

    Из недр http://habrahabr.ru/blogs/internet/117202/

    ReallyBugMeNot, 12 Апреля 2011

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