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

    +102

    1. 1
    originalTransform

    final Transform starscream = root.getLocalTransform();
    final Transform skywarp = transform.clone();

    someone, 24 Декабря 2012

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

    +16

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    #include <iostream>
    using namespace std;
    
    struct T{int a;T(){cout<<"T"<<this<<endl;}~T(){cout<<"~T"<<this<<endl;}};
    struct D:public T{int b;D(){cout<<"D"<<this<<endl;}~D(){cout<<"~D"<<this<<endl;}};
    
    int main() {
       T* a = new D[2];
       cout<<"mission failure"<<endl;
       delete[] a;   
       return 0;
    }

    Писал тест специально для Тараса:
    Виртуальный деструктор в базовых классах нужен:
    *Для вызова деструкторов всех потомков. Иногда это не нужно, тк поля структуры тривиальны. Согласен с Тарасом.
    *Для правильного выбора перегруженного оператора delete. Создал одним менеджером памяти, а удалил в другой - это плохо. Но также бывает редко и только в специфичных проектах.
    Но вот то, что демонстрируется в этом примере - думаю чего-нибудь такого создатели той библиотеки, что ковырял Тарас, и опасались.
    Не просто было вызван деструктор только для предков, забыв о деструкторах потомков, но и:
    *Деструктор предков был вызван для this не по тем адресам, где расположены объекты.
    Не удивлюсь, если:
    *В некоторых кулхацкерских реализациях менеджеров памяти будет удален буфер меньшего размера и куча попортится или оставшаяся не удаленная часть массива в куче просто утекет.
    http://liveworkspace.org/code/2X3MR0$8

    LispGovno, 22 Декабря 2012

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function postGameOrder(option) {
        // 48 cтрок кода
            if (option == 1) {
                if (!confirm("Are you sure you want to save this configuration?")) {
                    return false;
                }
            }
        // 45 строк кода
    }

    P.S. Умолчу уже о том, что среди тех 48 и 45 строк кода происходит обращение к глобальным переменным.
    На публикацию же вдохновило то, что вот это обращение к option — единственное во всей функции.

    wissenstein, 22 Декабря 2012

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    i = 0;
      while ((p_c = strchr(&str[i], c)) != NULL) {
        k = p_c - str;           
        for (j = 0;  j < k - i;  j++)
          putchar(' ');
        putchar('*');              
        i = k + 1;               
      }
      putchar('\n');

    очень простой способ подчеркнуть определённые символы в массиве знаков

    taburetka, 22 Декабря 2012

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

    −84

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    protected override function onLoaded() : void {
          super.onLoaded();
          var sleepComplete : Function = function () : void {
            closeWindow();
          };
          onGuest ();
          sleep.run( 1000, sleepComplete )
    }

    slavara, 21 Декабря 2012

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

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (jsonValues.toString().contains("acctContext") == true) {
        try {
            objectRelMethod = impl.provisionDevice(
    	jsonValues.getString("acctContext"),
    	jsonValues.getString("persoIdentityRequest"));
         }catch(JSONException e){
    	objectRelMethod = impl.provisionDevice(null, null);
         }
    }

    и туда же... и это называется гордым словом "мидл"...

    myzone, 21 Декабря 2012

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

    +81

    1. 1
    2. 2
    3. 3
    if (request.equals("") || request == null) {
        Response.status(Response.Status.NO_CONTENT).build();
    }

    ну сколько можно...

    myzone, 21 Декабря 2012

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

    +54

    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
    function bezpezdu_num($num)
    {
    	if(isset($num) && !empty($num) && is_numeric($num))
    		return true;
    	else
    		return false;
    }
    
    function pizdec($text)
    {
    	$showtext = htmlspecialchars($text);
    	exit($showtext);
    }

    $app->run_epta();

    kindofbear, 21 Декабря 2012

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

    +56

    1. 1
    2. 2
    3. 3
    4. 4
    function goto($url, $time = 0)
    {
    	exit('<META HTTP-EQUIV="REFRESH" CONTENT="'.$time.';URL='.$url.'">');
    }

    kindofbear, 21 Декабря 2012

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

    +43

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function Podergatsya($i)
    {
    	$i++;
    	$i--;
    	return $i;
    }

    Индусская CMS

    kindofbear, 21 Декабря 2012

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