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

    +159

    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
    ##############################################
    # Bitrix: SiteManager                        #
    # Copyright (c) 2002-2006 Bitrix             #
    # http://www.bitrixsoft.com                  #
    # mailto:[email protected]                #
    ##############################################
    
    if (!class_exists("CCaptcha"))
    {
    	class CCaptcha
    	{
    		var $imageWidth = 180;
    		var $imageHeight = 40;
    // ...etc

    Это Битрикс. Опять. bitrix\modules\main\classes\general\capt cha.php
    Определение нативной капчи.
    В строке 8 создатели сего как бы задаются воспросом «А вдруг еще никто не писал до нас капчи?».
    Или перестраховываются — «а вдруг require() уже вызывался? И что такое require_once(), про который все так много говорят?»
    Добротный, защищенный на все сто, класс капчи. Невозможно сломать, уже просто потому, что невозможно понять...

    velosipedistorg, 01 Февраля 2012

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

    +154

    1. 1
    2. 2
    3. 3
    const inline unsigned char convert(const char c1, const char c2) const {
    	return ((c1 > '9' ? c1 - 'A' + 10 : c1 - '0') << 4) + ((c2 > '9' ? c2 - 'A' + 10 : c2 - '0') & 0xF);
    }

    Anonimous, 01 Февраля 2012

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

    +165

    1. 1
    $daysName = array( 1=>'пн', 'вт', 'ср', 'чт', 'пт', 'сб', 0=>'вс', );

    phpдатаизмы

    istem, 01 Февраля 2012

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

    +121

    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
    class Program
    {
        static bool v1;
        static bool v2;
        static bool v3;
        static bool v4;
        //...
    
        static void Main()
        {
            getValues();
    
            if (v1)
            { }
            else
            {
                //Делаем раз
            }
            if (v2)
            { }
            else
            {
                //Делаем два
            }
            if (v3)
            { }
            else
            {
                //Делаем три
            }
            if (v4)
            { }
            else
            {
                //Делаем три с половиной
            }
        }
    
        static void getValues()
        {
            //Булевым переменным присваиваются значения из БД
        }
    }

    Один из студентов усердно выдавал такие конструкции. Логическое отрицание? Не, не слышал...

    vistefan, 31 Января 2012

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

    +1006

    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
    int main()
    {
        // инициализация графики
        ...
        
        while (!kbhit())
        {
            int start = rand();
            srand(start);
            
            // рисуем фейерверк
            for (int i = 0; i < 100; i++)
            {
                int x = rand();
                int y = rand();
                int color = rand();
                
                putPixel(x, y, color);
            }
            
            sleep(100);
            
            // стираем
            srand(start);
            
            for (int i = 0; i < 100; i++)
            {
                int x = rand();
                int y = rand();
                rand();
                
                if (getPixelColor(x, y) != BLACK)
                    putPixel(x, y, BLACK);
            }
        }
        
        return 0;
    }

    Вот такой пример использования графической библиотеки нам давали в институте. (Набирал по памяти т.к. я решил это с доски не переписывать.)

    vovams, 31 Января 2012

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

    +1012

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    void Transponse()                                       // Транспонировать матрицу
       {
          m12 = m21; m13 = m31; m14 = m41;
          m21 = m12; m23 = m32; m24 = m42;
          m31 = m13; m32 = m23; m34 = m43;
          m41 = m14; m42 = m24; m43 = m34;
       }

    Artur, 31 Января 2012

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?foreach (array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1) as $j): ?>
    	<? if ($j == $arItem["score"]["PROPERTY_SCORE_VALUE"]): ?>
    		<option selected><?=$j?></option>
    	<? else: ?>
    		<option><?=$j?></option>
    	<?endif; ?>
    <? endforeach;?>

    улыбнуло

    SuperChel, 31 Января 2012

    Комментарии (13)
  8. PHP / Говнокод #9279

    +150

    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
    <?php
    // Zend\Di\Locator
    namespace Zend\Di;
    interface Locator
    {
        public function get($name, array $params = array());
    }
    
    <?php
    //Zend\Di\ServiceLocation 
    namespace Zend\Di;
    interface ServiceLocation extends Locator
    {
        public function set($name, $service);
    }
    
    <?php
    //Zend\Di\ServiceLocator 
    namespace Zend\Di;
    class ServiceLocator implements ServiceLocation
    {
        protected $map = array();
        protected $services = array();
    
        public function set($name, $service)
        {
            $this->services[$name] = $service;
            return $this;
        }
    
        public function get($name, array $params = array())
        {
            if (!isset($this->services[$name])) {
                if (!isset($this->map[$name])) {
                    return null;
                }
                $method = $this->map[$name];
                return $this->$method($params);
            }
    
            $service = $this->services[$name];
            if ($service instanceof \Closure
                || (!is_object($service) && is_callable($service))
            ) {
                $this->services[$name] = $service = call_user_func_array($service, $params);
            }
    
            return $service;
        }
    }

    по какой логике "радар" становится "местоположением", а затем "местоположение" снова становится "радарчиком"?!!! пыщь

    lyuda111oneoneeleven, 31 Января 2012

    Комментарии (22)
  9. PHP / Говнокод #9278

    +159

    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
    function hash($password='', $unique_id=0)
        {
            $unique_id = $this-> unique_id();// by Lebnik: rand(0, time());
            $itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
            $random_state = $unique_id;
            $random = '';
            $count = 6;
    
            //
            if (($fh = @fopen('/dev/urandom', 'rb')))
            {
                $random = fread($fh, $count);
                fclose($fh);
            }
    
            if (strlen($random) < $count)
            {
                $random = '';
    
                for ($i = 0; $i < $count; $i += 16)
                {
                    $random_state = md5($unique_id . $random_state);
                    $random .= pack('H*', md5($random_state));
                }
                $random = substr($random, 0, $count);
            }
    
            $hash = $this-> hash_crypt_private($password, $this-> hash_gensalt_private($random, $itoa64), $itoa64);
    
            if (strlen($hash) == 34)
            {
                return $hash;
            }
    
            return md5($password);
        }

    АД

    Tsukasa-mixer, 31 Января 2012

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

    −134

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

    Человек, написавший такой запрос явно был с перепоя. С учетом его двухлетнего опыта программирования в 1С - никогда бы на него не подумал... но факт.

    Maikl_kar, 31 Января 2012

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