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

    +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
    public function timeDiff( $time, $now = null ) {
    		if ( ! is_int( $time ) )
    			$time = strtotime( (string) $time ) + ( get_option( 'gmt_offset' ) * 3600 - 10800 );
    		if ( is_null( $now ) )
    			$now = time();
    		if ( $now == $time )
    			return __( 'right now', Challonge_Plugin::TEXT_DOMAIN );
    		if ( $now < $time )
    			/* translators:
    				%s is an approximate relative amount of time (eg. "2 days")
    			*/
    			return sprintf( __( 'in %s', Challonge_Plugin::TEXT_DOMAIN ), human_time_diff( $time, $now ) );
    		/* translators:
    			%s is an approximate relative amount of time (eg. "2 days")
    		*/
    		return sprintf( __( '%s ago', Challonge_Plugin::TEXT_DOMAIN ), human_time_diff( $time, $now ) );
    	}

    -10800
    починил блять!

    pstnkv, 30 Мая 2016

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

    +9

    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
    #define public public: void operator delete(void *pituh) {}; public
         
    class poteklo
    {
    public:
        poteklo() :
            TheAnswer(42)
        {
             ;
        }
         
    private:
         int TheAnswer;
    };
         
    int main(int argc, char *argv[])
    {
        poteklo *uteklo = new poteklo;
        delete uteklo;    // Утекло!
    
        return 0;
    }

    Макро в духе "#define TRUE FALSE", только хардкорнее.
    https://ideone.com/ZdGnuL

    gost, 30 Мая 2016

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

    0

    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
    //...
          /* See if this is something like X * C - X or vice versa or
    	 if the multiplication is written as a shift.  If so, we can
    	 distribute and make a new multiply, shift, or maybe just
    	 have X (if C is 2 in the example above).  But don't make
    	 something more expensive than we had before.  */
    
          if (SCALAR_INT_MODE_P (mode))
    	{
    	  rtx lhs = op0, rhs = op1;
    
    	  wide_int coeff0 = wi::one (GET_MODE_PRECISION (mode));
    	  wide_int coeff1 = wi::one (GET_MODE_PRECISION (mode));
    
    	  if (GET_CODE (lhs) == NEG)
    	    {
    	      coeff0 = wi::minus_one (GET_MODE_PRECISION (mode));
    	      lhs = XEXP (lhs, 0);
    	    }
    	  else if (GET_CODE (lhs) == MULT
    		   && CONST_SCALAR_INT_P (XEXP (lhs, 1)))
    	    {
    	      coeff0 = std::make_pair (XEXP (lhs, 1), mode);
    	      lhs = XEXP (lhs, 0);
    	    }
    	  else if (GET_CODE (lhs) == ASHIFT
    		   && CONST_INT_P (XEXP (lhs, 1))
                       && INTVAL (XEXP (lhs, 1)) >= 0
    		   && INTVAL (XEXP (lhs, 1)) < GET_MODE_PRECISION (mode))
    	    {
    	      coeff0 = wi::set_bit_in_zero (INTVAL (XEXP (lhs, 1)),
    					    GET_MODE_PRECISION (mode));
    	      lhs = XEXP (lhs, 0);
    	    }
    
    	  if (GET_CODE (rhs) == NEG)
    	    {
    	      coeff1 = wi::minus_one (GET_MODE_PRECISION (mode));
    	      rhs = XEXP (rhs, 0);
    	    }
    	  else if (GET_CODE (rhs) == MULT
    		   && CONST_INT_P (XEXP (rhs, 1)))
    	    {
    	      coeff1 = std::make_pair (XEXP (rhs, 1), mode);
    	      rhs = XEXP (rhs, 0);
    	    }
    	  else if (GET_CODE (rhs) == ASHIFT
    		   && CONST_INT_P (XEXP (rhs, 1))
    		   && INTVAL (XEXP (rhs, 1)) >= 0
    		   && INTVAL (XEXP (rhs, 1)) < GET_MODE_PRECISION (mode))
    	    {
    	      coeff1 = wi::set_bit_in_zero (INTVAL (XEXP (rhs, 1)),
    					    GET_MODE_PRECISION (mode));
    	      rhs = XEXP (rhs, 0);
    	    }
    
    	  if (rtx_equal_p (lhs, rhs))
    	    {
    	      rtx orig = gen_rtx_PLUS (mode, op0, op1);
    	      rtx coeff;
    	      bool speed = optimize_function_for_speed_p (cfun);
    
    	      coeff = immed_wide_int_const (coeff0 + coeff1, mode);
    
    	      tem = simplify_gen_binary (MULT, mode, lhs, coeff);
    	      return (set_src_cost (tem, mode, speed)
    		      <= set_src_cost (orig, mode, speed) ? tem : 0);
    	    }
    	}

    https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/simplify-rtx.c?view=markup&pathrev=232689#l2062 здоровенная такая функция из недр GCC, в которой делаются оптимизации, это сродни символьным вычислениям вообще говоря
    https://godbolt.org/g/vcEqe7 но похоже эта хрень работает плохо, не смогло оно выявить тождественность умножения сдвигами и обычного умножения, сведя операции к return 1 в случае функции test1. Но я естественно находил и примеры кода, которые GCC смог успешно "редуцировать" своим оптимизатором, а clang тупил. Говно тут в том, что вместо того, чтобы впилить нормальную систему символьных вычислений, там нагородили какого-то ебучего говна... Хотя может быть я чего-то не понимаю в компиляторах. Надо будет дракона почитать

    j123123, 30 Мая 2016

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

    −99

    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
    Код выполняется в форме документа заказ покупателя
    если Не проведен тогда
    	сообщить ("Сопоставлять нужно только после Заполнить и провести");
    	возврат;
    КонецЕсли;
    Заказссылка = этотОбъект.Ссылка;	
    ТчЗаказаПокупателя = этотОбъект.Товары;
    для каждого РедактируемаяСтрока из ТчЗаказаПокупателя цикл
    	стр =""+РедактируемаяСтрока.Размещение;						
    	если  значениеЗаполнено(стр) и Тип("ДокументСсылка.ЗаказПокупателя") =ТипЗнч(ЗаказСсылка) и Тип("ДокументСсылка.ЗаказПоставщику")=ТипЗнч(РедактируемаяСтрока.Размещение)		
    	тогда		
    		Док_ЗаказПоставщику =РедактируемаяСтрока.Размещение.получитьОбъект();	
    		тч = Док_ЗаказПоставщику.товары;

    tixis1c, 30 Мая 2016

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    CharT getline(std::istream& i, string& s, const CharT* delim) {
    ...
        if (!i.operator void*()) 
            break;
    ...
    }

    Библиотека Apache UIMA-CPP.
    Что могло заставить написать так, вместо обычного if (i)? Какой-то древний компилятор, который не использует каст к указателю в условии?
    Ну и, разумеется, в C++11 ios::operator void*() заменили на explicit ios::operator bool(), так что работать перестало.

    Bobik, 29 Мая 2016

    Комментарии (57)
  6. Куча / Говнокод #20089

    0

    1. 1
    2. 2
    3. 3
    4. 4
    <div style="color: red; width: 100%; height:14pt; font-weight: bold;">STOP RUSSIAN AGGRESSION AGAINST 
    <span style="position: absolute; color: yellow; text-shadow: 1px 1px darkred;">
    <span style="position: absolute; height: 50%; color: blue; overflow: hidden;">UKRAINE!</span>UKRAINE!</span>
    </div>

    Какой хитрый дизайнерский ход! Это было обнаружено на http://vxheaven.org/
    пороюсь еще в исходниках вирусни которую там выкладывают, наверняка там много говна
    предлагаю добавить html в список допустимых языков на говнокоде

    j123123, 28 Мая 2016

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

    +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
    void	Game::Loadlevel(int which){
     stealthloading=0;
    
     if(which==0)Loadlevel((char *)":Data:Maps:map1");
     else if(which==1)Loadlevel((char *)":Data:Maps:map2");
     else if(which==2)Loadlevel((char *)":Data:Maps:map3");
     // [...]
    }
    
    // [Почему (char *)? Да вот же!]
    
    void	Game::Loadlevel(char *name){
     int i,j,k,l,m;
     static int oldlevel;
     int templength;
     float lamefloat;
     int lameint;
      // [...]
    }

    Ебём const машиной Тьюринга. Всё тот же https://hg.icculus.org/icculus/lugaru/file/97b303e79826/Source/GameTick.cpp , прямо-таки сокровищница с говном.

    gost, 27 Мая 2016

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

    +5

    1. 1
    https://github.com/KvanTTT/Cool-Compiler/blob/master/CoolCompiler/CoolCompiler.cs

    Учитесь, сопляки, как исключения перехватывать!

    dm_fomenok, 26 Мая 2016

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

    −99

    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
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("НоменклатурнаяГруппа", Объект.Ссылка);
    	
    Запрос.Текст = 
    "ВЫБРАТЬ
    |	Номенклатура.Код,
    |	Номенклатура.Ссылка КАК Номенклатура
    |ИЗ
    |	Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    |	Номенклатура.НоменклатурнаяГруппа.Ссылка = &НоменклатурнаяГруппа
    |
    |УПОРЯДОЧИТЬ ПО
    |	Номенклатура";
    	
    ТаблицаТоваров = Запрос.Выполнить().Выгрузить();
    
    СписокГруппы.Загрузить(ТаблицаТоваров);

    БП 3.0.43.174 (но не только), типовое заполнение формы номенклатурной группы номенклатурой.

    OdinAss, 26 Мая 2016

    Комментарии (16)
  10. C# / Говнокод #20079

    +2

    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
    using System;
    using System.Collections.Generic;
    using System.Linq;
    
    namespace Lens.Stdlib
    {
    	/// <summary>
    	/// Standard library randomizer methods.
    	/// </summary>
    	public static class Randomizer
    	{
    		#region Fields
    
    		/// <summary>
    		/// Random seed.
    		/// </summary>
    		public static readonly Random m_Random = new Random();
    
    		#endregion
    
    		#region Methods
    
    		/// <summary>
    		/// Gets a random floating point value between 0.0 and 1.0.
    		/// </summary>
    		/// <returns></returns>
    		public static double Random()
    		{
    			return m_Random.NextDouble();
    		}
    
    		/// <summary>
    		/// Gets a random integer value between 0 and MAX.
    		/// </summary>
    		public static int Random(int max)
    		{
    			return m_Random.Next(max);
    		}
    
    		/// <summary>
    		/// Gets a random integer value between MIN and MAX.
    		/// </summary>
    		public static int Random(int min, int max)
    		{
    			return m_Random.Next(min, max);
    		}
    
    		/// <summary>
    		/// Gets a random element from the list.
    		/// </summary>
    		public static T Random<T>(IList<T> src)
    		{
    			var max = src.Count - 1;
    			return src[Random(max)];
    		}
    
    		/// <summary>
    		/// Gets a random element from the list using a weighter function.
    		/// </summary>
    		public static T Random<T>(IList<T> src, Func<T, double> weighter)
    		{
    			var rnd = m_Random.NextDouble();
    			var weight = src.Sum(weighter);
    			if (weight < 0.000001)
    				throw new ArgumentException("src");
    
    			var delta = 1.0/weight;
    			var prob = 0.0;
    			foreach (var curr in src)
    			{
    				prob += weighter(curr) * delta;
    				if (rnd <= prob)
    					return curr;
    			}
    
    			throw new ArgumentException("src");
    		}
    
    		#endregion
    	}
    }

    Ну что сказать, 3,4-Метилендиоксиамфетамин

    dm_fomenok, 26 Мая 2016

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