Няшная / Говнокод #2171 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
char *getUI_ID_AsString(MENU_ID menuId)
{
    char *IdStr;
    	
	if((menuId == VOLUME_ID) || (menuId == POPUPWIN_ID) || (menuId == YESNOWIN_ID) || (menuId == MAINMENU_ID) || (menuId == 
		MODEMENU_ID) || (menuId == USBMODE_ID) || (menuId == SETTINGSMENU_ID) || (menuId == MENUPLAYMODE_ID) || (menuId == MENUEQ_ID) 
		|| (menuId == MENUSETTING_ID) || (menuId == MENULOCK_ID) || (menuId == MENUPLAYSPEED_ID) || (menuId == MENUCONTRAST_ID) || (menuId == 
		MENUBACKLIGHT_ID) || (menuId == MENULANGUAGE_ID) || (menuId == MENUSHUTDOWN_ID) || (menuId == MENUINFO_ID) || (menuId == 
		MENUBEEP_ID) || (menuId == MENUFACTORYSET_ID) || (MENUUSEREQ_ID) || (menuId == SET_PREFERENCES_ID) || (menuId == 
		MENUCONFIRM_RESET_ID) || (menuId == MENUCONFIRM_FORMAT_ID) || (menuId == MAINRECMENU_ID) || (menuId == RECSETMODE_ID) || 
		(menuId == RECSETINPUT_ID) || (menuId == RECSETVAD_ID) || (menuId == RECSETAUTOSYNC_ID) || (menuId == NAVIGATION_ID) ||
		(menuId == PROMPT_VOLUME_ID) || (menuId == MENUGPSAPPL_MAIN_ID) || (menuId == POWERON_CONNECTING_ID) || (menuId == 
		HOMESCREEN_ID) || (menuId == RC_DOWNLOADING_ID) || (menuId == SCREEN_BRIGHTNESS_ID) || (menuId == ABOUT_ID) || (menuId == 
		INSTMENU_ID) || (menuId == INST_ABOUT_ID) || (menuId == DISPL_ORIENT_ID) || (menuId == LINEOUT_ID) || (menuId == 
		PRIVACY_MUTE_ID) || (menuId == TEST_INSTALL_ID) || (menuId == FACTORY_RESET_ID) || (menuId == CALL_DTMF_ID) ||	(menuId == 
		NAVI_FILEMENU_ID) || (menuId == NAVI_CONFIRM_DEL_ID) || (menuId == NAVI_SELECTFOLDER_ID) || (menuId == LANG_SELECT_ID) ||
		(menuId == DISPLAY_JPG_ID) || (menuId == DISPLAY_TEXT_ID) || (menuId == SET_DISPLAY_ID))
	{
	    IdStr = (char *) malloc(4);
    	strcpy(IdStr, " MENU");
	}
	else if( <тут примерно еще столько же условий> )
		{
		       IdStr = (char *) malloc(5);
			   strcpy(IdStr, " PHONE");
		}
	else if( <тут примерно еще столько же условий> )
		{
		    strcpy(IdStr, " PBOOK");
		}
	else if( <тут примерно еще столько же условий> )
		{
		    IdStr = (char *) malloc(5);
		    strcpy(IdStr, " MUSIC");
		}
	else if( <тут примерно еще столько же условий> )
		{
		    IdStr = (char *) malloc(3);
		    strcpy(IdStr, " MSG");
		}
		
		return IdStr;
}

Шедевр индусского говнокодирования. А потом с нас спрашивают, почему это у нас система нестабильно работает.
switch, по ходу, они еще в школе не прошли, да и с математикой у них плоховато. А где-то память вообще выделять не надо - зачем?

Запостил: Scrambler Scrambler, (Updated )

Комментарии (33) RSS

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

        p.s.
        мне кажется, что слоган говнокода исключает истинность твоего высказывания
        Ответить
        • Мне просто претит называть смешной код говнокодом.
          Funnycode, cunningcode — запросто, но, похоже, здесь имеется в виду то, что я называю извратами, когда можно сделать проще, но сделано через жопу. А вот когда сделано в лоб, тогда быдлокод, да?
          Ответить
          • когда делано непрошареными людьми и абакак - быдлокод,
            когда смешной лаг - говно
            Ответить
  • я сомневаюсь, что такоевообще наплодить можно, а тем более - в таком виде. автор поста сам его придумал? 🙂
    Ответить
    • Ты явно недооцениваешь индусов... это ужасные люди. Они легко могут наплодить еще и не такое... эх...
      Ответить
      • к сожалению, я работал с настоящими индусами равшанами и тд, не раз, но такого "юмора" у них не встречал
        слава богу, меня относительно недавно уберегло от этого "сотрудничества" в будущем, чему я теперь искренне рад
        и с нашими "индусами" я работал и работаю, но наши ребята куда более славные, это факт
        но всё-равно, смотря на это, как станиславский, сомневаюсь и говорю "не верю!"
        ну не бывает таких полоумных, не бы ва ет
        Ответить
        • Ёпт. Бывает. Сам года 3 назад такое делал. Как сейчас помню. o_0 Разве условия были записаны в одну строчку, но их было именно не меньше.
          Ответить
          • так это ты "индус" и двоечник, который ещё тогда не работал в сфере ит 😀
            Ответить
  • Тут ещё памяти во всех местах выделено мало, а в одном месте вообще забыли выделить. Второе, скорее всего, приведёт к падению программы сразу, а от первого она ещё помучается 🙂
    Ответить
    • Программа, как ни странно падает довольно редко (система довольно большая) даже с ТАКИМ ужасом внутри
      Ответить
      • так значит, этот код вполне нормально работает, да? 🙂
        Ответить
        • Этот кусок кода вертится на некой железке... И она действительно работает и падает довольно редко.

          Там есть ещё такое:
          static char musicInfo[70] = {0};
          
          // ~~skip~~
          
          for(count =0; count < 70; count++)
          {
                  musicInfo[70] = '\0';
          }

          ... тоже Made in India (tm)
          Ответить
      • Ну так, индусам везёт, что оно вообще работает: malloc выравнивает выделенную память до некой константы, кратной двум (минимум восьмёрка...)

        В итоге "IdStr = (char *) malloc(5); strcpy(IdStr, " PHONE");" компьютер кушает и непоперхивается. Но боже упаси подобный код запустить на другой машине/ОС... Там уже как ляжет 🙂
        Ответить
    • кстати, реально, никто не обратил внимания сначала, что в некоторых ситуациях память под IdStr не выделяется и там, по ходу, мусор, а strcpy() всегда переполняет буффер в куче ) мне кажется, здесь баг куда позадорней, что-ли, чем ужасные ифы. суть не в том. мне интересно, как часто эта аппликуха падает, когда она использует технику mem-allo(size) - mem-copy(size + N) )) попробуй, блин, отлови такой баг )
      Ответить
      • >попробуй, блин, отлови такой баг
        Легко! Просто переписать говнокод. 🙂
        Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8