1. Java / Говнокод #12507

    +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
    public static long[] intArrayToLongArray(int[] in) {
        long[] out = new long[in.length];
        for (int i=0, n=in.length; i<n; i++)
            out[i] = in[i];
        return out;
    }
    
    public static void vibrateByResource(Context context, int resId) {
        Vibrator vibrator = (Vibrator)context.getSystemService(Context.VIBRATOR_SERVICE);
        long[] pattern = intArrayToLongArray(context.getResources().getIntArray(resId));
        vibrator.vibrate(pattern, -1);
    }
    
    vibrateByResource(this, R.array.vibroPatternSuccess);

    vibrate() принимает только long[], но не int[], в ресурсах могут храниться только int[] но не long[]. В результате родился вот такой говнокодик.

    bormand, 30 Января 2013

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

    +97

    1. 1
    2. 2
    3. 3
    Integer [] jh = new Integer [1];
    Integer j0 = new Integer(17);
    jh[0]= j0;

    Заполняем массив.

    3.14159265, 30 Января 2013

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

    +153

    1. 1
    2. 2
    3. 3
    canvas.onclick=(e)->
      if e.layerX in [foo.i..foo.i+foo.w] and e.layerY in [foo.j..foo.j+foo.h]
        do foo.action

    Из прототипа вполне реального проекта. "И хрен с тем, что медленно, зато кратко". Для справки: http://goo.gl/Qxjnm

    zloirock, 30 Января 2013

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

    +50

    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
    <?php
    
    //    ...
    
    if(!empty($_GET['hit']))
    {
    $tovar2 = mysql_query("select * from `product` where `hit`='1' ORDER BY `weight` DESC, `id` asc ");
    }else{
    if(!empty($_POST['cena']) && !empty($_POST['meh']) && !empty($_POST['razmer']))
    {
    $tovar2 = mysql_query("select * from `product` where `new`<'".$_POST['cena']."' and `kat`='".$_POST['meh']."' and `razmer` like '%".$_POST['razmer']."%' ORDER BY `weight` DESC, `id` asc limit  $start, $num;");
    }
    elseif(!empty($_POST['cena']) && !empty($_POST['meh']) && empty($_POST['razmer']))
    {
    $tovar2 = mysql_query("select * from `product` where `new`<'".$_POST['cena']."' and `kat`='".$_POST['meh']."' ORDER BY `weight` DESC, `id` asc limit  $start, $num;");
    }
    elseif(!empty($_POST['cena']) && empty($_POST['meh']) && !empty($_POST['razmer']))
    {
    $tovar2 = mysql_query("select * from `product` where `new`<'".$_POST['cena']."' and `razmer` like '%".$_POST['razmer']."%' ORDER BY `weight` DESC, `id` asc limit  $start, $num;");
    }
    elseif(empty($_POST['cena']) && !empty($_POST['meh']) && !empty($_POST['razmer']))
    {
    $tovar2 = mysql_query("select * from `product` where `kat`='".$_POST['meh']."' and `razmer` like '%".$_POST['razmer']."%' ORDER BY `weight` DESC, `id` asc limit  $start, $num;");
    }
    elseif(!empty($_POST['cena']) && empty($_POST['meh']) && empty($_POST['razmer']))
    {
    $tovar2 = mysql_query("select * from `product` where `new`<'".$_POST['cena']."' ORDER BY `weight` DESC, `id` asc limit  $start, $num;");
    }
    elseif(empty($_POST['cena']) && !empty($_POST['meh']) && empty($_POST['razmer']))
    {
    $tovar2 = mysql_query("select * from `product` where `kat`='".$_POST['meh']."' ORDER BY `weight` DESC, `id` asc limit  $start, $num;");
    }
    elseif(empty($_POST['cena']) && empty($_POST['meh']) && !empty($_POST['razmer']))
    {
    $tovar2 = mysql_query("select * from `product` where `razmer` like '%".$_POST['razmer']."%' ORDER BY `weight` DESC, `id` asc limit  $start, $num;");
    }
    
    //    ...
    
    ?>

    Make me unsee it!

    Sarkian, 30 Января 2013

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

    +70

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public static final void setManager(String name, MessageManager manager) {
            if ("doc".equals(name)) {
                doc = manager;
            } else {
                throw new RuntimeException("name is not 'doc' : " + name);
            }
        }

    Просто эпично! Даже добавить нечего

    tuba.linux, 30 Января 2013

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

    +46

    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
    if (substr($sql,0,6)=='INSERT')
      {
       $type = 'INSERT';
       if ($is_mysql)
        $O=mysql_insert_id($connection);
       if ($is_ibase)
        $O=false;
      }
      if (substr($sql,0,6)=='UPDATE')
      {
       $type = 'UPDATE';
       if ($is_mysql)
        $O = mysql_affected_rows($connection);
       if ($is_ibase)
        $O = ibase_affected_rows($connection);
      }
      if (substr($sql,0,7)=='REPLACE')
      {
       $type = 'REPLACE';
       if ($is_mysql)
        $O = mysql_affected_rows($connection);
       if ($is_ibase)
        $O = ibase_affected_rows($connection);
      }
      if (substr($sql,0,11)=='DELETE FROM')
      {
       $type = 'DELETE';
       if ($is_mysql)
        $O = mysql_affected_rows($connection);
       if ($is_ibase)
        $O = ibase_affected_rows($connection);
      }

    Как определить возвращаемый результат? Пропарсить строку запроса ($sql)!

    codename, 30 Января 2013

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

    −121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    //Рарус Обработка МодульОбменаДанными СоставКонтуровОбмена()
    	КешСоставКонтуровОбмена = Новый Соответствие; 
    	КешОбъектовКонтуровОбмена = Новый Соответствие; // м.б. будем использовать для ограничения типов поля "Документ" в запросе по регистру ТаблицаРегистрацииДокументов
    	
    	Попытка
    		//Вот здесь в программу загружается список контуров обмена, представляющии из себя политики для документов
    		Шаблон = ПолучитьМакет("СоставКонтуровОбмена"+Метаданные.Имя);
    		ВерсияВШаблоне = СокрЛП(Шаблон.Область(1, 2).Текст);
    ......
    				КешСоставКонтуровОбмена.Вставить(Тип(ТипСтр+"Ссылка."+ИмяСтр), ПеречислениеСсылка);

    Просто засунули все в макет, раздел макета это тип политик для набора Документов. Это не такой плохой способ, притом что очень хорошо видно в конфигураторе как и куда петкать политики обработки файлов. Но по всем параметрам говнокод.
    http://i54.fastpic.ru/big/2013/0130/34/730bb0d4a34dbccb43c3cb5cd46fea34.jpg

    crastinus, 30 Января 2013

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

    +138

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function getPage($uri) {
            $id = trim(trim($uri, '/'));
            if (is_numeric($id)){
                $this->page->getPage($id);
            } else {
                $this->page->getPage('1');
            }
        }

    Вчера сидел в подпитии, писал сайт-визитку. Вот что обнаружил утром

    Walking_Fire, 29 Января 2013

    Комментарии (14)
  9. Куча / Говнокод #12498

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    http://odnoklassniki.ru/dk
    	?cmd=PopLayer
    	&tkn=9739
    	&st.cmd=error
    	&st.stid=anonymPasswordRecovery
    	&st.eclass=java.lang.IllegalStateException
    	&st.layer.cmd=PopLayerSystemError

    Парсер тоже видит ЭТО и предлагает положить в не «Кучу», а в «Java».

    nsauk, 29 Января 2013

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

    +79

    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
    public static void loadSWT() {
    		try {
    			File file = null;
    			if (PlatformUtils.IS_WINDOWS) {
    				file = new File("lib/swtwin32.jar"); // x86
    				if (PlatformUtils.JVM_ARCH.equals("64")) {
    					file = new File("lib/swtwin64.jar"); // x64
    				}
    			} else if (PlatformUtils.IS_OSX) {
    				file = new File("lib/swtmac32.jar"); // x86
    				if (PlatformUtils.JVM_ARCH.equals("64")) {
    					file = new File("lib/swtmac64.jar"); // x64
    				} else if (PlatformUtils.OS_ARCH.startsWith("ppc")) {
    					file = new File("lib/swtmaccb.jar"); // carbon
    				}
    			} else if (PlatformUtils.IS_LINUX) {
    				file = new File("lib/swtlin32.jar"); // x86
    				if (PlatformUtils.JVM_ARCH.equals("64")) {
    					file = new File("lib/swtlin64.jar"); // x64
    				}
    			}
    			if ((file == null) || !FileUtils.isExistingFile(file)) {
    				file = new File("lib/swt.jar"); // old system
    			}
    			final Method method = URLClassLoader.class.getDeclaredMethod(
    					"addURL", new Class[] { URL.class });
    			method.setAccessible(true);
    			method.invoke(ClassLoader.getSystemClassLoader(), file.toURI()
    					.toURL());
    		} catch (final Exception e) {
    			e.printStackTrace();
    		}
    	}

    вот так приколачиваем SWT в систему.
    особенное веселье в строках 25-28.

    Lure Of Chaos, 29 Января 2013

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