1. C++ / Говнокод #12843

    +16

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    for (;!pool.isEmpty() || started;) {
                for (;!pool.isEmpty();) {
                    GramophoneEvent event = pool.poll();
                    event.apply(handler);
                }

    while для слабаков!

    ArtFeel, 02 Апреля 2013

    Комментарии (31)
  2. ActionScript / Говнокод #12842

    −90

    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
    /**
     * better,faster OLD SCHOOL HACKS ^^
     * **/
    public static function compareObject(obj1:Object, obj2:Object):Boolean {
    	var buffer1:ByteArray = new ByteArray();
    	buffer1.writeObject(obj1);
    	var buffer2:ByteArray = new ByteArray();
    	buffer2.writeObject(obj2);
    
    	// compare the lengths
    	var size:uint = buffer1.length;
    	if (buffer1.length == buffer2.length) {
    		buffer1.position = 0;
    		buffer2.position = 0;
    
    		// then the bits
    		while (buffer1.position < size) {
    			var v1:int = buffer1.readByte();
    			if (v1 != buffer2.readByte()) {
    				return false;
    			}
    		}
    		return true;
    	}
    	return false;
    }

    Сравнение объектов сериализацией, по моему такого тут еще не было...

    kostoprav, 02 Апреля 2013

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

    +160

    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
    $query = "INSERT INTO analiz SET
        obegin = $duss,
        vbegin = $leas,
        lbegin = $duls,
        opodk  = $dusc,
        vpodk  = $leac,
        lpodk  = $dulc,
        oend   = $duse,
        vend   = $leae,
        lend   = $dule,
        ozatr  = $dusZ,
        vzatr  = $leaZ,
        lzatr  = $dulZ,
        ooplat = $dusU,
        voplat = $leaU,
        loplat = $dulU,
        opay   = $dusN,
        vpay   = $leaN,
        lpay   = $dulN,
        date   = '$dnow'";

    cOde = $pzDc

    rsvasilyev, 02 Апреля 2013

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

    +133

    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
    abstract class A { }
    
    abstract class B
    {
         void CallValidate(A objA)
         {
              MethodInfo info = base.GetType().GetMethod("Validate", new[] { objA.GetType() });
    
              if (info == null)
              {
                   throw new ApplicationException("The method 'Validate' with parameter type '" + objA.GetType() + "' is not implemented.");
              }
    
              info.Invoke(this, new object[] { objA });
         }
    }

    Метод CallValidate базового класса проверяет наличие метода "Validate" с нужной сигнатурой в своих дочерних классах и вызывает его, если таковой есть, иначе - кидает исключение.

    Guid, 02 Апреля 2013

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

    +12

    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
    #ifndef __MAKROS_H__
    #define __MAKROS_H__
    // ...
    #define countof( array ) sizeof( array ) / sizeof( array[ 0 ] )
    
    #define IS_CLUSTER( id ) id >= FIRST_CLUSTER_ID
    
    #define CREATE_TEMP_FILE( autoclean_name, file_prefix ) \
        char create_temp_file_file_mask[ MAX_PARAM_STR_LENGTH ]; \
        snprintf( create_temp_file_file_mask, MAX_PARAM_STR_LENGTH, "%s/%sXXXXXX", config::tmp_path, file_prefix ); \
        int create_temp_file_desc=mkstemp( create_temp_file_file_mask ); \
        if(create_temp_file_desc<0) \
    { \
            DEBUG_E( Interface, "Cannot create temporary file: %s\n", create_temp_file_file_mask ); \
            ret=RET_CANTOPENFILE; \
            CHECK_RET(sock, ret); \
            return true; \
    } \
        close(create_temp_file_desc); \
        autoclean autoclean_name( create_temp_file_file_mask );
    
    #endif // __MAKROS_H__

    Это просто праздник какой-то

    roman-kashitsyn, 02 Апреля 2013

    Комментарии (29)
  6. PHP / Говнокод #12838

    +168

    1. 1
    2. 2
    3. 3
    ...
    <input type="hidden" name="Id" value="<?=rand(1000,9999);?>" />
    ...

    Вы все еще думаете, что "select max+1" - плохой способ для установки первичного ключа?

    DRAN1k, 01 Апреля 2013

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

    −88

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    /**
     * Indicates whether the animation is playing
     */
    public function get isPlaying():Boolean
    {
    	if(_isPlaying)
    	{
    		return _loop >= 0 || _currentTime < _totalTime && !_isPlaying;
    	}
    	return false;
    }

    DragonBones, dragonBones.animation.Animations.as : 79-86

    slavara, 01 Апреля 2013

    Комментарии (2)
  8. Куча / Говнокод #12836

    +128

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    trait NumericUpperBound[Num1, Num2, UpperBound]
    implicit object NumericUpperBoundIDD extends NumericUpperBound[Int, Double, Double]
    implicit object NumericUpperBoundDID extends NumericUpperBound[Double, Int, Double]
    
    def compareTwoNumbers3[N1, N2, N3](n1: N1, n2: N2)
                                     (implicit nub: NumericUpperBound[N1, N2, N3], 
                                             conv1: NumericConversion[N1, N3], 
                                             conv2: NumericConversion[N2, N3], 
                                               ord: Ordering[N3]): Int = {
      ord compare (conv1 convert n1, conv2 convert n2)
    }

    Скала, сравниваем два числа.
    Вот, задался целью на досуге познакомится с этим замечателным языком, а теперь такое отвращение к потерпевшему испытываю, что даже кушать не могу.

    wvxvw, 01 Апреля 2013

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

    +11

    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
    template <class T>
    class autoptr
    {
      private:
        T * _ptr;
    
      public:
        autoptr()
        {
            _ptr = 0;
        }
    
        autoptr( T * ptr )
        {
            _ptr = ptr;
        }
    
        ~autoptr()
        {
            if(_ptr) delete _ptr;
        }
    
        operator T * ()
        {
            return _ptr;
        }
    
        T * operator -> ()
        {
            return _ptr;
        }
        T * get()
        {
            T *ret = _ptr;
            _ptr = 0;
            return ret;
        }
    };
    
    template <class T>
    class autoptr_mas
    {
    // ...

    НУ ЗАЧЕМ?!

    roman-kashitsyn, 01 Апреля 2013

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

    −107

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    - (void)cellButtonTapped:(UIButton *)sender
    {
        UITableViewCell* cell = (id) sender.superview.superview.superview;
        ...
    }

    Жечь в печах таких людей

    notxcain, 01 Апреля 2013

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