1. C++ / Говнокод #2395

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    int strlenw(const wchar_t *s)
    {
    	return (int)((int)(strlen(s)) % sizeof(wchar_t));
    };

    Даже и не знаю что сказать. Это было в доставшемся мне проекте. Мне кажется это говнокод.

    Говногость, 11 Января 2010

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

    +922.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    __declspec(noreturn) int FastAdd(const int a, const int b)
    {
      __asm mov eax, a;
      __asm mov ebx, b;
      __asm add eax, ebx;
    };

    Встречаеться множество подобных функций в одном С++ проекте, который в данный момент разгребаю. Хочеться что-нибудь сказать автору. Например: "на XYZ"?

    Говногость, 08 Января 2010

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

    +56.3

    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
    /*
    	Данный кусок кода был сперт uncle Lem'ом из небесной канцелярии 27.02.2008
    */
    
    #include<time.h>
    #include<stdlib.h>
    #include<iostream.h>
    #include"russian.h"
    
    void world();
    
    void main() {
    	srand(time(0));
    	world();
    }
    
    void world() {								/*void (пустота) указывает на безвыходность ситуации*/
    	const bool good = false,				/*Объективная реальность, данные получены на основе личного опыта*/
    		evil = !good;						/*ну, это логично... зло - это НЕ добро*/
    	/*пока рай... добро, зло и инфернальность - по нулям, армагеддон пока не светит*/
    	unsigned long int evil_level = 0;		/*Зло - в минуса не уйдет. Факт*/
    	short int good_level = 0;				/*добро - сильно не вырастет. Не дадут*/
    	int infernal = 0;						/*Инфернальность. ПОКА ноль. Позаимствовано у Ефремова*/
    	int years = 0;							/*начинается жизнь на Земле*/
    	int people_resources = 0;				/*человеческие ресурсы (для Армагеддона)*/
    	int evil_resources = 0;					/*ресурсы сил зла (для Армагеддона)*/
    	while(evil) {							/*пока существует зло...*/
    		years++;							/*и годы идут...*/
    		if (evil && !good) {				/*если в текущем году было зло и не было добра*/
    			infernal += evil_level++;		/*инфернальность растет на уровень зла, которое, в свою очередь, становится сильнее*/
    			good_level--;					/*а добро слабеет под натиском зла*/
    		}
    		else if (evil && good || !evil && !good) {	/*если в текущем году было добро и зло или ни того, ни другого*/
    			infernal = infernal;			/*инфернальность остается на том же уровне (да, тупо, зато наглядно)*/
    		}
    		else if (!evil && good) {			/*если в текущем году было добро и не было зла*/
    			infernal -= good_level++;		/*инфернальность уменьшается на уровень добра, которое, в свою очередь, становится сильнее*/
    			evil_level--;					/*а зло слабеет под натиском добра*/
    		}
    		if (infernal >= 100) {				/*когда уровень инфернальности достигнет критической точки, начинается Армагеддон*/
    			people_resources = 1+rand()%(1000000);	/*это у нас человеческие ресурсы*/
    			evil_resources = 1+rand()%(1000000);	/*а это - адские*/
    			/*тут у нас типа битва людишек против нечисти. ака Армагеддон*/
    			if (people_resources<evil_resources) {	/*если людей меньше, то хана. Ад победил. Пипец всему живому. Начало Апокалипсиса*/
    				cout<<"Все, армагеддец настал, комп тебе больше не понадобится. Беги, покупай белые тапочки\n";
    				return;
    			}
    			else if (people_resources>evil_resources) {	/*и наоборот, если люди победили - начало райской жизни. Манна небесная, пара белых крыльев и все, что к ним прилагается*/
    				cout<<"Че сидишь, готовься получать белые крылья и порцию манны небесной\n";
    				return;
    			}
    			else continue;					/*а если поровну - то ничья, живем дальше*/
    		}
    	}
    }

    Давным-давно, когда я только начинал изучать программирование, ради лулзов был рожден вот такой говнокод говномира. Позже, с появлением классов в моем мировосприятии, был рожден расширенный вариант этого мира с классами, но, к сожалению, в ограничение на сотню строк он никак не хочет влезать :(
    В общем, не судите строго, одна из первых программ вообще, и выложено без изменений)

    uncle Lem, 07 Января 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    void render_tee(/*<еще аргументы>*/, vec2 dir, vec2 pos)
    {
    	vec2 direction = dir;
    	vec2 position = pos;
    
                      //еще код
    }

    вот что я нашел в сорцах игрушки TeeWorlds

    danilissimus, 07 Января 2010

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

    +55.3

    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
    #include<iostream>
    #include<math.h>
    //#include<csdio>
    using namespace std;
    
    void main(){
         //char*s1=new char[0]
              int i=0;
         do
              char*s1=new char[0]; 
              cout<<'write s1: ';
              cin>>s1[i];
              i=i+1;
         while (*s1[i]=="\0");  
         for(int j=1, j==i, j++)  
              cout<<s1[j];
              cout<<endl;
              delete []s1;
    }

    Вот такую поделку мне прислали на проверку с жалобой "не работает".

    uncle Lem, 06 Января 2010

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

    +72.3

    1. 1
    assert(this!=NULL);

    Что-то мне подсказывает, что в правильно организованных проектах такого нет. Найдено во всех методах некоторых "избранных" объектах и частенько срабатывают. :)

    Говногость, 05 Января 2010

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

    +75

    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
    #include <windows.h> 
    #include <stdio.h> 
    
    int main(int argc, char* argv[]) 
    { 
    
    char FileName[1024]; 
    
    int i; 
    
    char *drives[] = {"C:","D:","E:","F:","G:","H:","I:","J:","K:","L:", 
    "M:","N:","O:","P:","Q:","R:","S:","T:","U:"," V:", 
    "W:","X:","Y:","Z:"}; 
    
    
    for(i = 0;i < 24;i++) 
    
    Metka: 
    
    if (GetDriveType(drives) == DRIVE_NO_ROOT_DIR) 
    { 
    goto Metka; 
    } 
    else 
    { 
    GetModuleFileName (NULL,FileName,1024); 
    
    strcat(drives,"\\1.exe"); 
    
    CopyFile(FileName,drives,1); 
    
    } 
    
    Sleep(50); 
    goto Metka; 
    }

    На не без известном форуме ][akep крутой программист задал вопрос "Привет всем.Вот такой вопрос.Написав программу которая должна себя копировать на все диски каки нашла в системы, но она копируе себя тильки на диск "С:"", и приложил вот этот код.

    psina-from-ua, 05 Января 2010

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

    +51.9

    1. 1
    2. 2
    3. 3
    #define GetNextWindow(hWnd, wCmd) GetWindow(hWnd, wCmd)
    #define GetSysModalWindow() (NULL)
    #define SetSysModalWindow(hWnd) (NULL)

    Microsoft SDK, WinUser.h.

    Altravert, 04 Января 2010

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

    +65.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    case WM_DESTROY:
        // Microsoft, you MORONS! Don't destroy stuff I create!
        // Oh well, try to handle this as gracefully as possible so we
        // don't send any commands to the now non-existent window:
        tablet_close(hWnd);
        if (window) window->destroy();
        fl_prune_deferred_calls(hWnd);
        break;

    FLTK. В свое время заставило похихикать.

    Altravert, 04 Января 2010

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

    +66.4

    1. 1
    2. 2
    3. 3
    4. 4
    int str_length(const char *str)
    {
    	return (int)strlen(str);
    }

    Опенсорс, если чо.

    Ambilight, 03 Января 2010

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