1. Лучший говнокод

    В номинации:
    За время:
  2. JavaScript / Говнокод #23475

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public do(action: 'un' | 're'): void {
        const result = (<any>this._appApi.app.documentManager.current)[action + 'do']();
        if (!result.success) this._toastService.error(result.errorMessage, `Ошибка ${action}do`);
    }
    
     <button (click)="do('un')" title="Отменить"><i class="material-icons md-36">undo</i></button>
     <button (click)="do('re')" title="Повторить"><i class="material-icons md-36">redo</i></button>

    mazhuravlev, 01 Ноября 2017

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

    +2

    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
    switch (a) {
    	case 12345:
    		return 0;
    	case 14523:
    		return 1;
    	case 102543:
    		return 2;
    	case 104325:
    		return 3;
    	case 243051:
    		return 4;
    	case 245130:
    		return 5;
    	case 350214:
    		return 6;
    	case 351402:
    		return 7;
    	case 423150:
    		return 8;
    	case 425031:
    		return 9;
    	case 530412:
    		return 10;
    	case 531204:
    		return 11;
    	}
    	return -1;

    Ekke, 07 Марта 2016

    Комментарии (51)
  4. SQL / Говнокод #18420

    −160

    1. 1
    2. 2
    ALTER TABLE db.table ADD CONSTRAINT cu_contents UNIQUE (contents(128));
    ALTER TABLE db.table DROP INDEX cu_contents;

    Создал констрейнт, удал индекс. Загадки Майсиквела.

    wvxvw, 30 Июня 2015

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

    +50

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (tp==-1 || c==a[tp]-'a') tp++; else {
    		l[ts+1]=la;  p[ts+1]=ts;
    		l[ts]=l[tv];  r[ts]=tp-1;  p[ts]=p[tv];  t[ts][c]=ts+1;  t[ts][a[tp]-'a']=tv;
    		l[tv]=tp;  p[tv]=ts;  t[p[ts]][a[l[ts]]-'a']=ts;  ts+=2;
    		tv=s[p[ts-2]];  tp=l[ts-2];
    		while (tp<=r[ts-2]) {  tv=t[tv][a[tp]-'a'];  tp+=r[tv]-l[tv]+1;}
    		if (tp==r[ts-2]+1)  s[ts-2]=tv;  else s[ts-2]=ts; 
    		tp=r[tv]-(tp-r[ts-2])+2;  goto suff;
    	}

    Говнокод олимпиадный.

    http://e-maxx.ru/algo/ukkonen

    gost, 09 Сентября 2014

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

    +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
    main ()
    {
    system("COLOR 0A");
    double ob, x1 , x2 , y1 , y2, p1 , p2 , pi , skolko , status;
     
        system("echo Интерполяция X1 - X2 ");
        system("echo Ввести число:");
        cin >> ob;
     
        system("echo Например 62, C1 = 60, L1 = 1.31 ,C2 = 80 , L2 = 1.29");
        cout << "C1 = ";
               cin >> x1;
        cout << "L1 = " ;
               cin >> x2;
        cout << "C2 = " ;
               cin >> y1;
        cout << "L2 = " ;  
               cin >> y2;
     
          p1 = y1 - x1;
          p2 = y2 - x2;
     
        pi = p2 / p1;
          skolko = ob - x1;
          status = x2 + (pi * skolko);
     
        cout << "_______________________________________________________________";
        cout << endl <<  ob << " = " << status;
        _getch ();
        system("CLS");
     
        return 0;
    }

    с википедии
    вывод с помощью потока уникально сочетается с выводом путём вызова системных команд

    TarasB, 24 Июля 2014

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

    +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
    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
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    /*
        Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных
        латинских букв; между соседними словами - не менее одного пробела, за последним словом - точка.
        Напечатать те слова последовательности, которые отличны от первого слова и
        удовлетворяют следующему свойству: в слове нет повторяющихся букв.
    */
    #include <iostream>
    #include <cstring>
    using namespace std;
    
    void strComparsion(const char *str1, const char *str2, const int beginStr2, const int endStr2);
    int main()
    {
    
        char arrWord[50*8+50+1] = "spros na java programmistov"
                                                " rastet i v etom vinovat chertov android.";
        int counterSpace = 0; //Счетчик пробелов
        char strOneBuffer[9]; //Массив для первого слова
    
        cout << "Na vhode: \n" << arrWord << endl;
        cout << "Na vyhode: \n";
    
        //Копируем первое слов  в отдельный массив
        for(int i = 0; arrWord[i-2] != ' ';i++)
        {
            strOneBuffer[i] = arrWord[i];
            if(arrWord[i] == ' ')
            {
                strOneBuffer[i] = '\0';
                counterSpace = i;
            }
        }
    
        for(int i = counterSpace + 1, j = counterSpace + 1; arrWord[i] != '\0' ; i++)
            if(arrWord[i] == ' ' || arrWord[i] =='.')
            {
               strComparsion(strOneBuffer, arrWord, j, i);
               j = i +1;
            }
    
        return 0;
    }
    void strComparsion(const char *str1, const char *str2, const int beginStr2, const int endStr2)
    {
        //Флаги
        int countSymbol = 0;
        int repeatSymbol = 0;
    
        //Сравниваем слова с первым словом
        if( strlen(str1) == endStr2 - beginStr2 )
            for(int i = 0, j = beginStr2; j < endStr2; i++, j++)
                if(str2[j] == str1[i])
                    countSymbol++;
    
        //Ищем повторяющийся буквы в слове
        for(int i = beginStr2; i < endStr2; i++)
            for(int j = beginStr2; j < endStr2; j++)
            {
                if(i == j)
                    continue;
                if(str2[i] == str2[j])
                    repeatSymbol++;
            }
    
        //Выводим слово по требуеиым критериям
        if(countSymbol < strlen(str1) && repeatSymbol == 0)
            for(int i = beginStr2; i < endStr2; i++)
            {
                cout << str2[i];
                if(i == endStr2 - 1)
                    cout << " ";
            }
    }

    Это я писал после 6 месяцев изучения кодинга

    ConstantineVL, 29 Июня 2014

    Комментарии (51)
  8. JavaScript / Говнокод #13871

    +149

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function refreshPaymentStatus() {
    }
    
    refreshPaymentStatusJob();
    
    function refreshPaymentStatusJob() {
        setInterval("refreshPaymentStatus()", 10000);
    }

    Бесят люди которые, будучи обмануты кажущейся простотой JS, пишут такие конструкции "по привычке". Job он, @#$%, завёл. А Scheduler, интересно, где забыл? А SchedulerManager? А SchedulerManagerFactory? Зато не забыл передать строкой первый аргумент в setInterval, молодец.

    madhead, 30 Сентября 2013

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

    +2

    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
    double vvod (double a1, double a2, double a3) {
     
    // a1=a a2=b a3=c
     
    	cout<<"Введите значение коэфицента a: ";
    	cin>>a1;
    	cout<<endl;
    	cout<<"Введите значение коэфицента b: ";
    	cin>>a2;
    	cout<<endl;
    	cout<<"Введите значение коэфицента c: ";
    	cin>>a3;
    	cout<<endl;
    	return (a1);
    	return (a2);
    	return (a3);
    }

    Оказывается в С++ можно возвращать 3 значения из функции
    http://ideone.com/tGWRpl - полная версия.

    pabloid, 05 Сентября 2013

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

    +8

    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
    #include <pthread.h>
    template<class T = long long>
    class AtomicCounter
    {
        public:
            explicit AtomicCounter( T value = 0 ): _count( value ) { pthread_spin_init( &_lock, PTHREAD_PROCESS_PRIVATE );};
            ~AtomicCounter()  { pthread_spin_destroy( &_lock );    };
    
            T operator++(int) volatile {  return interlockFetchAndAdd( 1 );      };
            T operator--(int) volatile {  return interlockFetchAndAdd( -1 );     };
            T operator() ()   volatile {  return interlockFetchAndAdd( 0 );      }
    
        private:
            volatile T    _count;
            pthread_spinlock_t _lock;
    
            T interlockFetchAndAdd( int delta ) volatile
            {
                T x = 0;
                pthread_spin_lock( &_lock );
                x = _count;
                _count += delta;
                pthread_spin_unlock(&_lock);
                return x;
            }
    };

    Принцип наименьшего удивления, говорите

    roman-kashitsyn, 26 Июля 2013

    Комментарии (51)
  11. C++ / Говнокод #12870

    +25

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    bool Channel::applyPreprocessorSettings()
    {
    	if (captureDeviceID_.empty() || !isSafeToChangeSettingsNow())
    		CHANNEL_LOG("deferring applyPreprocessorSettings()");
    		needApplyPreprocessorSettings_ = true;
    		return false;
    
    	// ... (куча кода)
    	
    	return true;
    }

    Никогда - слышите, НИКОГДА! - не пишите на C++ одновременно с питоном.

    Kirinyale, 09 Апреля 2013

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