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

    −119

    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
    Функция ЧекМайл(Майл) 
        
    	Перем Чек;
    	
    	Если Найти(Майл,"@mail.ru")<>0 Тогда
    		
    		Чек = 0; 
    		
    	Иначе	
    		
    		Чек = 1;
    		
    	КонецЕсли;
    	
    	Возврат Чек;
    	
    КонецФункции
    
    ...
    	  Если ЧекМайл("[email protected]") = 0 Тогда
    	  	 Предупреждение("Ой! Что-то пошло не так!");
    	  	 Предупреждение("Не беспокойтесь, это наша ошибка. Мы уже знаем о ней и примем меры к ее исправлению!");
    	  	 СтатусВозврата(0);
    	  	 Возврат;
    	  КонецЕсли;

    могли и предупредить ...

    informatikmarazmatik, 16 Мая 2012

    Комментарии (10)
  2. Си / Говнокод #10294

    +138

    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
    typedef int32_t wl_fixed_t;
    
    //было:
    static inline double wl_fixed_to_double(wl_fixed_t f)
    {
      return (double) f / 256.0;
    }
    
    //стало:
    static inline double wl_fixed_to_double(wl_fixed_t f)
    {
      union {
        double d;
        int64_t i;
      } u;
    
      u.i = ((1023LL + 44LL) << 52) + (1LL << 51) + f;
    
      return u.d - (3LL << 43);
    }

    Заоптимизировали...

    rat4, 16 Мая 2012

    Комментарии (23)
  3. JavaScript / Говнокод #10293

    +176

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function getAnchor(link){
    	var url=( (!link) ? window.location : link).toString();
    	var idx = url.indexOf("#");
    	return (idx != -1 ? url.substring(idx+1) : '');	
    }
    function setAnchor(anchor){
    	var url=(window.location).toString();
    	var idx = url.indexOf("#");
    	return ( window.location= 
    		(idx != -1 ? url.substring(0,idx+1) : url+'#')+anchor
    	);
    }

    3.14159265, 16 Мая 2012

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

    −115

    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
    Тз = СоздатьОбъект("ТаблицаЗначений");
    	Тз.НоваяКолонка("Число");
    	Для й=1 По 100 Цикл
    		Тз.НоваяСтрока();
    		Тз.Число = й;
    	КонецЦикла;
    	КоличествоСтрокТз = Тз.КоличествоСтрок();
    	Для й=-КоличествоСтрокТз По -1 Цикл
    		ЗначениеИзТз = Тз.ПолучитьЗначение(-й,"Число");
    		ПроверяемоеЗначение = ЗначениеИзТз/2-Цел(ЗначениеИзТз/2);
    		Если ПроверяемоеЗначение <> 0 Тогда
    			Тз.УдалитьСтроку(-й);
    		КонецЕсли;
    	КонецЦикла;
    	Тз.ВыбратьСтроку();

    Четные числа до 100

    informatikmarazmatik, 16 Мая 2012

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

    +86

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    protected void ListViewAlerts_ItemCommand(object sender, ListViewCommandEventArgs e)
            {
                int commandArgument = e.Item.DataItemIndex;
                var listViewDataItem = (HiddenField)ListViewAlertRegistry.Items[commandArgument].Controls[3];
                int id = Convert.ToInt32(listViewDataItem.Value);
    .....
            }

    Из рабочего проекта. Новый способ узнать id item'а listview. Видимо свойство DataKeyNames кодеру незнакомо - id берет из hiddenfield, причем выбирает этот hiddenfield не по его id, а по позиции контрола по счету в строке. Добавляем еще один элемент в listview, и соответственно метод валится.

    _vinka, 16 Мая 2012

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

    −1065

    1. 1
    @property (nonatomic, retain) NSString *totalCount;

    Чуть глаза от такого не лопнули

    QuickNick, 16 Мая 2012

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

    −19

    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
    TElement* get(void)
    {
    	TElement* result = this->allocateBuffer();
    	if (result!=NULL)
    	{
    		try
    		{
    			::new(result) TElement; //Вызов конструктора.
    		}catch(...)//Получили исключение в конструкторе конструироваемого объекта.
    		{
    			this->deallocateBuffer(result);
    			throw;
    		};
    	};
    	return result;
    };
    
    template<class TArg1>
    TElement* get(TArg1 arg1)
    {
    	TElement* result = this->allocateBuffer();
    	if (result!=NULL)
    	{
    		try
    		{
    			::new(result) TElement(arg1); //Вызов конструктора.
    		}catch(...)//Получили исключение в конструкторе конструироваемого объекта.
    		{
    			this->deallocateBuffer(result);
    			throw;
    		};
    	};
    	return result;
    };
    
    //...
    
    template<class TArg1, class TArg2, class TArg3, class TArg4, class TArg5, class TArg6>
    TElement* get(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6)
    {
    	TElement* result = this->AllocateBuffer();
    	if (result!=NULL)
    	{
    		try
    		{
    			::new(result) TElement(arg1, arg2, arg3, arg4, arg5, arg6); //Вызов конструктора.
    		}catch(...)//Получили исключение в конструкторе конструироваемого объекта.
    		{
    			this->DeallocateBuffer(result);
    			throw;
    		};
    	};
    	return result;
    };

    Хотя этот баян мы уже видели на Action Script.

    Говногость, 16 Мая 2012

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

    +91

    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
    private void changeTabItem(object parameter)
            {
                if (SelectedTabIndex == SelectedTabIndexOld) return;
                if (SelectedTabIndex != 0)
                {
                    if ([надо сохранить])
                    {
                        if ([попытка сохранить удалась]) SelectedTabIndexOld = SelectedTabIndex;
                        else SelectedTabIndex = 0;
                    }
                    else SelectedTabIndexOld = SelectedTabIndex;
    
                    if (SelectedTabIndex == 1)
                        [обновить древо]
    
                }
                else if (SelectedTabIndex != 1)
                {
                    if ([надо сохранить])
                    {
                        if ([попытка сохранить удалась]) SelectedTabIndexOld = SelectedTabIndex;
                        else SelectedTabIndex = 1;
                    }
                    else SelectedTabIndexOld = SelectedTabIndex;
                    if (SelectedTabIndex == 0)
                        [обновить древо]
                }
            }

    Раскопки продолжаются. Теперь Вашему вниманию предлагается "женское" переключение вкладок, работающее "от противного". В данном случае две вкладки, а теперь представим что надо добавить ещё пару. =)

    DukeGonzo, 16 Мая 2012

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

    −22

    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
    class TFunctorMap
    	{
    	public:
    		typedef bool (*TFunctor)(const TSentenceList&, unsigned short &);
    	private:
    		std::map<char, TFunctor> _functorMap;
    	public:
    		TFunctorMap(void)
    		{
    			_functorMap.insert(std::make_pair('g', &RZC));
    			_functorMap.insert(std::make_pair('t', &STN));
    			_functorMap.insert(std::make_pair('d', &RTC));
    		}
    		TFunctor GetFunctor(const char Key)
    		{
    			if (_functorMap.find(Key) == _functorMap.end())
    				return NULL;
    			return _functorMap[Key];
    		}
    	};

    Говногость, 16 Мая 2012

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

    −24

    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
    template <bool ValueToLock>
    	class TBoolLocker
    	{
    	private:
    		bool _lockedValue;
    	public:
    		TBoolLocker(void) : _lockedValue(!ValueToLock) {}
    		TBoolLocker(const TBoolLocker & Copy) : _lockedValue(Copy._lockedValue) {}
    		const TBoolLocker & operator=(const TBoolLocker & Copy)
    		{
    			_lockedValue = Copy._lockedValue;
    			return *this;
    		}
    		bool update(const bool NewValue)
    		{
    			if (_lockedValue != ValueToLock)
    				_lockedValue = NewValue;
    			return _lockedValue;
    		}
    	};

    Говногость, 16 Мая 2012

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