1. JavaScript / Говнокод #16645

    +156

    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
    Generator.prototype.update = function () {
    	var	t = this.timer++,
    		d = this.delay,
    		s = this.samples,
    		m = this.minDistance,
    		w = this.width,
    		h = this.height,
    		g = this.global,
    		c = this.cid,
    		ttl = this.ttl--,
    		l = s.length,
    		rand = Math.random,
    		floor = Math.floor,
    		x,
    		y,
    		r,
    		i,
    		j,
    		d2,
    		n;
    
    	if (ttl > 0) {
    		while (t > d) {
    			r = s[floor(rand() * l)].copy();
    
    			if (m) {
    				i = 1000;
    				while (i--) {
    					x = rand() * w - w * 0.5;
    					y = rand() * h - h * 0.5;
    
    					for (j in this) if (j instanceof Entity) {
    						n = this[i];
    						d2 = (x - n.x) * (x - n.x) + (y - n.y) * (y - n.y);
    
    						if (d2 * d2 > m) {
    							i = 0;
    						}
    					}
    				}
    			} else {
    				x = rand() * w - w * 0.5;
    				y = rand() * h - h * 0.5;
    			}
    
    			r.x = x;
    			r.y = y;
    
    			if (!g) {
    				r.parent = this;
    			}
    
    			this[c] = r;
    			this.cid = c += 1;
    			this.time = t -= d;
    		}
    	} else {
    		delete this.update;
    	}
    };

    асм-диалект яваскрипта

    prezident, 04 Сентября 2014

    Комментарии (7)
  2. Java / Говнокод #16644

    +75

    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
    db.insertInto(VISIBILITY_CONSTRAINT,
        VISIBILITY_CONSTRAINT.UUID,
        VISIBILITY_CONSTRAINT.VERSION,
        VISIBILITY_CONSTRAINT.FIRST_NAME_HIDDEN,
        VISIBILITY_CONSTRAINT.MIDDLE_NAME_HIDDEN,
        VISIBILITY_CONSTRAINT.LAST_NAME_HIDDEN,
        VISIBILITY_CONSTRAINT.BIRTHDAY_HIDDEN,
        VISIBILITY_CONSTRAINT.GENDER_HIDDEN,
        VISIBILITY_CONSTRAINT.EMAIL_HIDDEN,
        VISIBILITY_CONSTRAINT.COUNTRY_HIDDEN,
        VISIBILITY_CONSTRAINT.REGION_HIDDEN,
        VISIBILITY_CONSTRAINT.CITY_HIDDEN,
        VISIBILITY_CONSTRAINT.STREET_HIDDEN,
        VISIBILITY_CONSTRAINT.ZIP_CODE_HIDDEN,
        VISIBILITY_CONSTRAINT.PHONE_NUMBER_HIDDEN,
        VISIBILITY_CONSTRAINT.HOME_PAGE_HIDDEN,
        VISIBILITY_CONSTRAINT.HOBBIES_HIDDEN
    ).values(
        visibilityConstraintId,
        UInteger.valueOf(0),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        '0', // shit happens
        0.byteValue(),
        0.byteValue()
    ).execute()

    Пока писал тесты к говнопроекту, нашел PHONE_NUMBER_HIDDEN VARCHAR(64) NOT NULL. Hibernate по умолчанию ставил туда null. Там еще много всего, но остальное сюда не уместится.

    scriptin, 04 Сентября 2014

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

    +134

    1. 1
    2. 2
    if (paramList[i].GetType().Equals(typeof(String)))
    ...

    musuk, 04 Сентября 2014

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

    −169

    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
    //  Параметры - реквизит объекта. Больше (!) нигде не используется.
    
    Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
    	Если ЭтоНовый() Тогда
    		Параметры = "000001000";
    	КонецЕсли;
    	
    	ФлагОписания = ?(Сред(Параметры,7,1) = "1", Истина, Ложь);
    	ФлагМестоX     = ?(Сред(Параметры,8,1) = "1", Истина, Ложь);
    	ФлагМестоY      = ?(Сред(Параметры,9,1) = "1", Истина, Ложь);		
    КонецПроцедуры
    
    Процедура СменаФлага()    
    	Параметры = Лев(Параметры,6)+Строка(Число(ФлагОписания))+Строка(Число(ФлагМестоX))+Строка(Число(ФлагМестоY));
    КонецПроцедуры
    
    
    Процедура ФлагОписанияПриИзменении(Элемент)	
    	СменаФлага();	
    КонецПроцедуры
    
    Процедура ФлагМестоXПриИзменении(Элемент)	
    	СменаФлага();	
    КонецПроцедуры
    
    Процедура ФлагМестоYПриИзменении(Элемент)	
    	СменаФлага();	
    КонецПроцедуры

    Хотел быть шифровальщиком, но кривая дорожка жизни…

    safer_bwd, 04 Сентября 2014

    Комментарии (4)
  5. ActionScript / Говнокод #16640

    −92

    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
    public class MathAndGeometryUtils
    {
    	public static function roundToHalf(value:Number):Number 
    	{
    		var multiplied:int = Math.round(value * 10);
    		if (multiplied / 5 == Math.round(multiplied / 5))
    		{
    			return multiplied / 10;
    		}
    		else
    		{
    			var noComma:Number = Math.floor(multiplied / 10) * 10;
    			var divaider:int = multiplied - noComma;
    			if (divaider >= 3 && divaider <= 7)
    				return (noComma + 5) / 10;
    			else
    				return Math.round(value);
    		}
    	}
    }

    На сколько я смог понять задумку, человеку хотелось чтобы функция возвращала значения типа 0, 0.5, 1, 1.5 и т.д. и вот он придумал такое самобытное решение.

    wvxvw, 04 Сентября 2014

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

    −172

    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
    Процедура ПриЗаписи(Отказ)
    	// Проверяем роль
    	
    	Если рольДоступна ("ДляКасираПроведениеВТечениеОдногоДня")   Тогда		 
    		  мТекущаяДатаДокумента = Формат(мТекущаяДатаДокумента, "ДЛФ=D");
    		Если  мТекущаяДатаДокумента = Формат(ТекущаяДата(), "ДЛФ=D") ТОгда
    			Записать ();
    		Иначе
    			Отказ = истина;
    			Предупреждение ("Нарушение прав доступа");
    			ЭтаФорма.Закрыть();
    		КонецЕсли;        
    	КонецЕсли;
    КонецПроцедуры

    И это все в модуле формы.

    alexinzaz, 04 Сентября 2014

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

    +51

    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
    void Snake::turnSnake(const int key)
    {
        QPoint pos = components_of_snake.last().topLeft();
        QPoint temp = pos;
    
        bool wasTurned = false;
    
        if((key == Qt::Key_Right) && (side_turn != LEFT))
        {
            side_turn = RIGHT;
    
            pos.rx() += SIZE_OF_COMPONENT;
            wasTurned = true;
        }
        else if((key == Qt::Key_Left) && (side_turn != RIGHT))
        {
            side_turn = LEFT;
    
            pos.rx() -= SIZE_OF_COMPONENT;
            wasTurned = true;
        }
        else if((key == Qt::Key_Up) && (side_turn != DOWN))
        {
            side_turn = UP;
    
            pos.ry() -= SIZE_OF_COMPONENT;
            wasTurned = true;
        }
        else if((key == Qt::Key_Down) && (side_turn != UP))
        {
            side_turn = DOWN;
    
            pos.ry() += SIZE_OF_COMPONENT;
            wasTurned = true;
        }
    
        if(wasTurned)
        {
            components_of_snake.last().moveTo(pos);
            _cathUpHead(temp);
        }
    }

    Метод поворота для змейки)

    darkKnight, 03 Сентября 2014

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

    +74

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ( !( new File( dataFolder + "/Screenshoots" ).exists()
    	    && new File( dataFolder + "/Screenshoots" ).isDirectory() ) )
    		new File( dataFolder + "/Screenshoots" ).mkdir();
    	    
    if ( !( new File( dataFolder + "/Screenshoots/" + step.test.hashCode() ).exists()
    	    && new File( dataFolder + "/Screenshoots/" + step.test.hashCode() ).isDirectory() ) )
    		new File( dataFolder + "/Screenshoots/" + step.test.hashCode() ).mkdir();

    sakkath, 03 Сентября 2014

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

    −162

    1. 1
    НоваяСтрока.ТелефонныйНомер = Прав(НоваяСтрока.ТелефонныйНомер, стрДлина(НоваяСтрока.ТелефонныйНомер));

    Выдрано из Рарус СофтФон. Ума не приложу, что они хотели этим сказать...

    Ivon, 03 Сентября 2014

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

    +158

    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
    class TestThis
    {
        public $property = 'property';
    
        public function test1()
        {
            $this->this($this, new ArrayObject);
    
            $this['wierd'] = true;
    
            print_r($this);
            print_r($this->property . PHP_EOL);
    
            return $this;
        }
    
        public function test2()
        {
            print_r($this);
        }
    
        public function this(&$object, $value)
        {
            $object = $value;
        }
    }
    
    (new TestThis)->test1()->test2();

    Вопрос к самому похапе.

    Так вот нельзя:
    $this = че-нибудь

    "Cannot re-assign $this"

    А вот как выше можно!

    doo_dee_doo_dmt, 02 Сентября 2014

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