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

    В номинации:
    За время:
  2. Куча / Говнокод #16286

    +131

    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
    if (SceneTextureIndex == 0)    return float4(CalcSceneColor(UV), 0);
        else if (SceneTextureIndex == 1)    return ScreenSpaceData.GBuffer.Depth;
        else if (SceneTextureIndex == 2)    return float4(ScreenSpaceData.GBuffer.DiffuseColor, 0);
        else if (SceneTextureIndex == 3)    return float4(ScreenSpaceData.GBuffer.SpecularColor, 0);
        else if (SceneTextureIndex == 4)    return float4(ScreenSpaceData.GBuffer.SubsurfaceColor, 0);
        else if (SceneTextureIndex == 5)    return float4(ScreenSpaceData.GBuffer.BaseColor, 0);
        else if (SceneTextureIndex == 6)    return ScreenSpaceData.GBuffer.Specular;
        else if (SceneTextureIndex == 7)    return ScreenSpaceData.GBuffer.Metallic;
        else if (SceneTextureIndex == 8)    return float4(ScreenSpaceData.GBuffer.WorldNormal, 0);
        else if (SceneTextureIndex == 9)    return 1; // todo
        else if (SceneTextureIndex == 10)    return ScreenSpaceData.GBuffer.Opacity;
        else if (SceneTextureIndex == 11)    return ScreenSpaceData.GBuffer.Roughness;
        else if (SceneTextureIndex == 12)    return ScreenSpaceData.GBuffer.GBufferAO;
        else if (SceneTextureIndex == 13)    return ScreenSpaceData.GBuffer.CustomDepth;
        else if (SceneTextureIndex == 14)    return Texture2DSample(PostprocessInput0, PostprocessInput0Sampler, UV);
        else if (SceneTextureIndex == 15)    return Texture2DSample(PostprocessInput1, PostprocessInput1Sampler, UV);
        else if (SceneTextureIndex == 16)    return Texture2DSample(PostprocessInput2, PostprocessInput2Sampler, UV);
        else if (SceneTextureIndex == 17)    return Texture2DSample(PostprocessInput3, PostprocessInput3Sampler, UV);
        else if (SceneTextureIndex == 18)    return Texture2DSample(PostprocessInput4, PostprocessInput4Sampler, UV);
        else if (SceneTextureIndex == 19)    return Texture2DSample(PostprocessInput5, PostprocessInput5Sampler, UV);
        else if (SceneTextureIndex == 20)    return Texture2DSample(PostprocessInput6, PostprocessInput6Sampler, UV);
        else if (SceneTextureIndex == 21)    return ScreenSpaceData.GBuffer.DecalMask;
        else if (SceneTextureIndex == 22)    return float4(GetLightingModelColor(ScreenSpaceData.GBuffer), 1);
        else if (SceneTextureIndex == 23)    return ScreenSpaceData.AmbientOcclusion;

    LispGovno, 08 Июля 2014

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

    +131

    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
    public int stream;
            public override string ToString()
            {
                return group_name + teacher_name + " " + discipline_name + " " + discipline_type + " " + stream.ToString();
            }
            public override int GetHashCode()
            {
                return stream;
            }
            public override bool Equals(object obj)
            {
                try
                {
                    stream = Convert.ToInt32(obj.ToString());
                }
                catch { }
                return false;
            }

    Есть класс, который принимает список производных только от object классов. Необходимо было запихнуть в него мой класс и пошаманить над переменной stream. Дальше я думаю комментарии не требуются.

    GreatMASTERcpp, 09 Июня 2014

    Комментарии (21)
  4. Куча / Говнокод #16084

    +131

    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
    Шесть месяцев назад я нашёл в Интернете книжку "Dive into Python". Странная книжка, толстая,
    да ещё на не русском языке.
    Усердно прочитал её, методично и вдумываясь, но таки ничего и не понял.
    Но что-то не отпускало меня - я пошёл на python.org и стал изучать стандартную библиотеку,
    старательно, скурпулёзно, от корки до корки. Гугля примеры кода, я наткнулся на пост в блоге одного гуру,
    где было написано про PEP8.
    То, что рассказывал этот умудрённый опытом кодер, настолько впечатлило меня, что я словно в припадке
    безумия бросился зубрить эту конвенцию по написанию питоньего кода.
    У меня тряслись руки, по телу прокатывали волны возбуждения, я, можно сказать, бился в экстазе всё
    это время - и теперь могу процитировать наизусть любой пункт, даже если меня разбудить посреди 
    глубокой ночи.
    Новые знания окрыляли меня, я бросился писать (что бы вы подумали?) очередную имиджборду.
    Я не писал раньше имиджборд, эта была моей первой. По пути пришлось освоить азы вёрстки на html и css,
    но там всё оказалось совсем не сложно.
    Я плавно двигался вперёд, наращивая функционал. И знаете что? Я упёрся в недостаток
    производительности. Ну, так мне показалось. Я делал замеры, устранял места с тяжёлым кодом.
    Тысячи раз запускал ab, но так и не сумел перейти порог в 300 запросов в секунду.
    Я как-то ожидал большего и был немного разочарован.
    Гугл, снова гугл. Десятки статей и тем на форуме… Довольно быстро я заметил, что люди часто пишут про
    какие-то "асинхронные веб-сервера". Часто встречались названия Tornado и Gevent. Я прочитал про них
    подробнее - и был просто ошеломлён. Как мне это раньше не приходило в голову?!
    Это же, это просто гениально, чёрт меня побери!
    Исходники в ведро, всё переписать! Меня переполняло новое знание, поток мыслей ровно ложился в
    строчки кода. Я просто не мог остановиться. Чашка кофе… Ещё чашка…
    Мой небольшой кусочек софта приобретал кристалльную чистоту,
    я смертельно устал, но продолжал в умилении полировать его зудящими руками, нанося последние штрихи
    Пять тысяч. Я получил производительность в пять тысяч запросов в секунду. В ту ночь я так и не смог заснуть.
    Наиувлекательнейший мир хай-лоада открылся передо мной. Позже я изучил ещё много классных вещей
    типа сверхбыстрых асинхронных key-value-хранилищ, или, например, такого необычного подхода к
    обработке данных, как map-reduce.
    Это уже был другой я, новый, обновлённый. С незашоренным взглядом, с жаждой новых знаний и
    незнакомых концепций.
    Я летел вперёд, оставляя за спиной ступень за ступенью.
    За пол-года я сменил несколько мест работы, и моя зарплата взлетела до умопомрачительных сумм.
    Сотни замечательных мест открыли передо мной свои двери. Любые, самые изысканные девушки
    проявляли просто чудеса изобретательности, чтобы находиться рядом со мной.
    А ещё, я никогда не забуду тот момент, когда на одной из конференций я впервые в жизни поймал на
    себе завистливый взгляд.
    Это был взгляд какого-то сливающегося с толпой неудачника, взгляд преисполненный ненависти,
    презрения и желчного вожделения, направленного на мой Олимп. Наверное, он всю свою никчёмную
    жизнь писал на каком-нибудь си-шарпе или там на джаве, проводя долгие дни в одиночестве.
    И теперь начинал подсознательно догадываться, что долгие годы безуспешно пытался
    построить замок из навоза.

    IKing, 30 Мая 2014

    Комментарии (74)
  5. Куча / Говнокод #16058

    +131

    1. 1
    2. 2
    3. 3
    Property Documentation
    antennaConnected : int
    This property is true if there is an antenna connected. Otherwise it will be false.

    Выдержка из Qt Multimedia

    laMer007, 25 Мая 2014

    Комментарии (20)
  6. Си / Говнокод #15983

    +131

    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
    #include <stdio.h>
    #include <tchar.h>
    
    #define MVALUE 6
    
    
    void bufret(int pos, int limit, int maxlimit, bool direction)
    {
    	putchar((char)((pos&0xff)+0x30)) ;
    	if(((pos<limit)&&direction)||((pos>1)&&(!direction)))
    	{   
         putchar('-') ;
    	 if(direction)
    		 pos++ ;
    	 else 
    		 pos--;
    	}    
    	else
    	{
          limit++ ;   
          if(direction)
    		pos=limit;
    	  else
    	    pos=1 ;
    	    direction=!direction ;
    	 
    		putchar('\n') ;
    	}
    	if(limit < maxlimit)
    		bufret(pos,limit,maxlimit,direction) ;
    
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	 bufret(1, 1, MVALUE+1, true) ;
    	 getchar() ;
    	return 0;
    }

    Решил наговнокодить по мотивам этой статьи:
    http://habrahabr.ru/post/116842/

    Как думаете, получилось,

    ASDASD, 14 Мая 2014

    Комментарии (14)
  7. Си / Говнокод #15980

    +131

    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
    #include <stdio.h>
    #include <stdint.h>
    
    #define ARR_L 11
    #define INS_P (arr[0])
    #define MOD_L(a) ((a) % ARR_L)
    #define INS_P_M (MOD_L(INS_P))
    #define ARR_ACS(a) (arr[MOD_L(a)]) //access to arr
    
    
    void foo (uint8_t *arr)
    {
      if (ARR_ACS(0) == 0)
      {
        printf("%u ", ARR_ACS(1));
        ARR_ACS(1) += ARR_ACS(2);
        ARR_ACS(0) = 1;
      }
      else
      {
        printf("%u ", ARR_ACS(2));
        ARR_ACS(2) += ARR_ACS(1);
        ARR_ACS(0) = 0;
      }
    
    }
    
    int main(void) {
      uint8_t arr[ARR_L] = {1,1,1,0,0,0,0,0,0,0,0};
      for (size_t a = 0; a < 13; a++)
      {
        foo(arr);
      }
      return 0;
    }

    Считалка чисел Фибоначчи на основе фигни, придуманной в http://govnokod.ru/15967
    Надо сделать метаязык для удобного составления набора инструкций для этой штуки. И еще надо осилить длинную арифметику, ну это вообще круто будет

    j123123, 14 Мая 2014

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

    +131

    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
    key_t cXxxYyyyZzz::getKey( char *pValue )
    {
      key_t key=INVALID_SEMKEY;
    
      if ( !pValue ) return key;
    
      for(int i=0; (char)0 != pValue[i]; ++i )
      {
        if ( 1==i && 'x' == tolower(pValue[1]) && '0' == pValue[0] )
          continue;
        if ( !isxdigit(pValue[i]) )
          return key;
      }
      return strtoul(pValue,(char**)0,16);
    }

    немецкий велосипед.

    Dummy00001, 12 Мая 2014

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

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    ГовноКод.ру - это отличный русскоязычный ресурс, аналогов которому по количеству пользователей и новым говнокодам нет.
    На нем сидит множество толковых парней, таких например как Борманд, laMer007, inkanus-gray и тд, и мне лично их комментарии всегда интрестно почитать.
    Но всё желание пользоваться сайтом отбивает модерация, которой попросту нет.
    Один или несколько пользователей, типа Стертор или как его там, просто убивает ресурс, портит ветки комментов, пишет сам себе и отвечает сам себе, спамит.
    Это нужно как-то решать или ресурс умрёт, потому что просто игнорировать молодняк уже не получится.
    Может ввести на сайте пару баннеров рекламы и нанять модератора?
    Может закрыть доступ писать без учетки? Временно можно даже добавлять комменты только после модерации.
    Я не веб программист, и не знаю всех нюансов, но ведь должы быть способы избавиться от этого спама?
    Побуду немного экстрасенсом, сейчас появится коммент "Въебал минус"

    Извините, наболело, не могу больше в себе это держать

    Smekalisty, 05 Мая 2014

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

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    DateTime dateEst = DateTime.Now.ToEstTime();
    StringBuilder responseTime = new StringBuilder();
    responseTime.Append(dateEst.ToString("MM/dd/yyyy"));
    responseTime.Append(dateEst.ToString("  h:mm:ss tt"));

    Отображаем время ответа от сервера в удобном формате.

    vertu, 17 Апреля 2014

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

    +131

    1. 1
    Сосево из ширинки, ебля с порога.

    KonardStuard, 16 Апреля 2014

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