1. Си / Говнокод #10953

    +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
    static inline int getKey(short int high, short int low)
    {
        return (((int)high)<<16)+(int)low;
    }
    
    static inline short getHigh(int pKey)
    {
        return (short)(pKey>>16);
    }
    
    static inline short getLow(int pKey)
    {
        return (short)(pKey&0x00000000FFFFFFFF);
    }

    вот так. getHigh() оставил для полноты.

    Dummy00001, 14 Июня 2012

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

    −117

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

    Вот такой код сделан был франчем, который потребовал за это еще и 3 часа оплаты)))) Одно только непонятно почему при обращении к регистру нельзя было использовать отбор это же гораздо проще и быстрее и кода меньше

    dart, 14 Июня 2012

    Комментарии (40)
  3. Java / Говнокод #10951

    +77

    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
    //...
    final AudioClip bar3Note = new AudioClip(Xylophone.class.getResource(THIRD_SOUND_NODE).toString());
    final AudioClip bar4Note = new AudioClip(Xylophone.class.getResource(FOURTH_SOUND_NODE).toString());
    final AudioClip bar5Note = new AudioClip(Xylophone.class.getResource(FIFTH_SOUND_NODE).toString());
    //...
    
    // ... Далее еще плачевнее...
    bar2Group.setOnMousePressed(new EventHandler<MouseEvent>()
    {
        @Override
        public void handle(MouseEvent me)
        {
            bar2Note.play();
         }
    });
    bar3Group.setOnMousePressed(new EventHandler<MouseEvent>()
    {
        @Override
        public void handle(MouseEvent me)
        {
            bar3Note.play();
        }
    });
    bar4Group.setOnMousePressed(new EventHandler<MouseEvent>()
    {
        @Override
        public void handle(MouseEvent me)
        {
            bar4Note.play();
        }
    });
    // ...
    
    // Ну и, наконец, полный П.З..Ц
    bar1Group.setEffect(l);
    bar2Group.setEffect(l);
    bar3Group.setEffect(l);
    bar4Group.setEffect(l);
    bar5Group.setEffect(l);
    bar6Group.setEffect(l);
    bar7Group.setEffect(l);
    bar8Group.setEffect(l);

    Внедрение JFX без элементарных циклов хорошим не закончится.

    dwinner, 14 Июня 2012

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

    −35

    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
    // For the probably_koi8_locales we have to look. the standard says
    // these are 8859-5, but almost all Russian users use KOI8-R and
    // incorrectly set $LANG to ru_RU. We'll check tolower() to see what
    // it thinks ru_RU means.
    // If you read the history, it seems that many Russians blame ISO and
    // Perestroika for the confusion.
    ...
    static QTextCodec * ru_RU_hack(const char * i) {
        QTextCodec * ru_RU_codec = 0;
    
    #if !defined(QT_NO_SETLOCALE)
        QByteArray origlocale(setlocale(LC_CTYPE, i));
    #else
        QByteArray origlocale(i);
    #endif
        // unicode   koi8r   latin5   name
        // 0x044E    0xC0    0xEE     CYRILLIC SMALL LETTER YU
        // 0x042E    0xE0    0xCE     CYRILLIC CAPITAL LETTER YU
        int latin5 = tolower(0xCE);
        int koi8r = tolower(0xE0);
        if (koi8r == 0xC0 && latin5 != 0xEE) {
            ru_RU_codec = QTextCodec::codecForName("KOI8-R");
        } else if (koi8r != 0xC0 && latin5 == 0xEE) {
            ru_RU_codec = QTextCodec::codecForName("ISO 8859-5");
        } else {
            // something else again... let's assume... *throws dice*
            ru_RU_codec = QTextCodec::codecForName("KOI8-R");
            qWarning("QTextCodec: Using KOI8-R, probe failed (%02x %02x %s)",
                      koi8r, latin5, i);
        }
    #if !defined(QT_NO_SETLOCALE)
        setlocale(LC_CTYPE, origlocale);
    #endif
    
        return ru_RU_codec;
    }

    Снова Qt. На этот раз src/corelib/codecs/qtextcodec.cpp и борьба бобра с ослом русских с буржуинскими стандартами ISO.

    bormand, 14 Июня 2012

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

    +68

    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
    String townName = (params.get("town") == null ? "" : params.get("town").toLowerCase());
    List<String> towns = new LinkedList();
    int i = 0;
    for (Town town : service.getTowns()) {
        if (townName.length() > 0) {
            if (town.getName().toLowerCase().startsWith(townName)) {
                towns.add(town.getName());
                i++;
            }
        } else {
            towns.add(town.getName());
            i++;
        }
        if (i == 10) {
            break;
        }
    }

    наверное в тот день sql меня достал

    zlob.jc, 14 Июня 2012

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

    −104

    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
    if ($key eq $default_key){
    		my $author = $default_author;
    		if ($release){
    			if (length $release <= $max_release){
    				if (length $description <= $max_description){			
    					if ($filename){
    						if (clearfn(\$filename) eq 1){
    							if (! -e "$files_dir/$filename"){
    								$release = clear($release);
    								$description = clear($description);
    								$description = bb($description);
    								open FILE, '>>db.txt' or die $!;
    								print FILE "$release\t$filename\t$description\t$author\t" . ftime() . "\n";
    								close FILE;
    								open FILE, ">$files_dir/$filename" or die "$!";
    								binmode FILE;
    								while (<$filehandle>){
    									print FILE;
    								}
    								close FILE;
    								$result = 'Файл успешно добавлен!';
    								rss();
    							}
    							else {
    								$result = 'Ошибка: Файл с таким именем уже загружен!';
    							}
    						}
    						else {
    							$result = 'Ошибка: Недопустимое расширение файла!';
    						}
    					}
    					else {
    						$result = 'Ошибка: Нет файла!';
    					}
    				}
    				else {
    					$result = "Ошибка: В описании должно быть не более $max_description символов!";
    				}
    			}
    			else {
    				$result = "Ошибка: В названии должно быть не более $max_release символов!";
    			}
    		}
    		else {
    			$result = 'Ошибка: Нет названия!';
    		}
    	}
    	else {
    		$result = 'Ошибка: ';
    	}

    Писал паскалеребенок

    nyaknyan, 14 Июня 2012

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

    +108

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public sbyte GetSByte(int i)
    {
        IMySqlValue v = GetFieldValue(i, false);
        if (v is MySqlByte)
            return ((MySqlByte)v).Value;
    
        return ((MySqlByte)v).Value;
    }

    Вытащил это "чудо" когда ковырялся в сырцах MySQL .NET Connector-а

    Heisenberg, 13 Июня 2012

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

    −55

    1. 1
    2. 2
    3. 3
    void f(int...)
    {
    };

    Компилится.
    http://ideone.com/yPgoq

    HaskellGovno, 13 Июня 2012

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

    +53

    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
    <?php $args = array(  
            'type'                     => 'post'  
            ,'child_of'                 => 0  
            ,'parent'                   => ''  
            ,'orderby'                  => 'name'  
            ,'order'                    => 'ASC'  
            ,'hide_empty'               => 1  
            ,'hierarchical'             => 1  
            ,'exclude'                  => ''  
            ,'include'                  => ''  
            ,'number'                   => 0  
            ,'taxonomy'                 => 'category'  
            ,'pad_counts'               => false );?> 
    
    http://wp-kama.ru/function/get_categories

    взял тут: http://wp-kama.ru/function/get_categories

    Видимо у него в учебнике так было:

    У лукоморья дуб зелёный
    ;Златая цепь на дубе том
    :И днём и ночью кот учёный
    Всё ходит по цепи кругом
    ;Идёт направо - песнь заводит
    ,Налево - сказку говорит
    ...

    А.С. Пушкин

    irvis, 13 Июня 2012

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

    +55

    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
    protected function _convertArrayToStr($arr = array()) {
    
    	$str = '';
    	$data = Controller::getSomeMethod();
    
    
    	$valus = array_values($arr);
    	$keys = array_keys($arr);
    	//Количество незаполненых полей
    	$count = 0;
    	// Формируем строку с title и введеных значени
    	for($i = 0; $i < count($arr); ++$i) {
    
    		if($keys[$i] == $data[$i]['name'] ) {
    			
    			if($valus[$i] == 'on') {
    				$valus[$i] = 'Да';
    			}
    
    			$str .= $data[$i+$count]['title'] . ": " . $valus[$i] . " \n";
    
    		}else{
    
    			$count++;
    			$str .= $data[$i+$count]['title'] . ": " . $valus[$i] . " \n";
    
    		}
    	}
    	return $str;
    
    }

    Стажер реализовал обход ассоциативного массива и преобразование значений массива в строку.

    Iliander, 13 Июня 2012

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