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

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

    +120

    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
    var trimmedKey = Regex.Split(key, @"\.").Last();
                    if (_options.Any(o => o == ModelBinderOptions.ExpectUnderLineSymbolAsPrefixDelimiter))
                        trimmedKey = Regex.Split(trimmedKey, "_").Last();
    
                    if (_allRequiredParameters.Any(p => p.Key.ToLower() == trimmedKey.ToLower()))
                    {
                        var param = _allRequiredParameters.Single(p => p.Key.ToLower() == trimmedKey.ToLower());
    
                        try
                        {
                            if (param.Value != typeof(string))
                            {
                                if (Nullable.GetUnderlyingType(param.Value) != null)
                                {
                                    try
                                    {
                                        var parseMethod = Nullable.GetUnderlyingType(param.Value).GetMethods().Where(m => m.Name == "Parse").First(m => m.GetParameters().Count() == 1 && m.GetParameters().First().ParameterType == typeof(string));
                                        var value = parseMethod.Invoke(null, new object[] { form[key] });
                                        formValues.Add(param.Key, value);
                                    }
                                    catch(Exception)
                                    {
                                        formValues.Add(param.Key, null);
                                    }
                                }
                                else
                                {
                                    var parseMethod = param.Value.GetMethods().Where(m => m.Name == "Parse").First(m => m.GetParameters().Count() == 1 && m.GetParameters().First().ParameterType == typeof(string));
                                    var value = parseMethod.Invoke(null, new object[] { form[key] });
                                    formValues.Add(param.Key, value);
                                }
                                
                            }
                            else
                            {
                                formValues.Add(param.Key, form[key]);
                            }
                        }
                        catch (Exception)
                        {
                            // Если произошла ошибка парсинга - печально, но ничего не поделать
                        }
                    }

    Фееричный парсер

    dans, 21 Июня 2011

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

    +146

    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
    File tarFile = new File(UUID.randomUUID() + ".tar");
        tarFile.createNewFile();
        FileOutputStream tarFileOutputStream = new FileOutputStream(tarFile.getAbsolutePath());
        TarArchiveOutputStream   archiveOutputStream = new TarArchiveOutputStream(tarFileOutputStream);
         
        String entryName = "пример.txt";
         
        File fileToPack = new File("C:\\пример.txt");
        InputStream in = new FileInputStream(fileToPack);
         
        //создаем запись в архиве с русским названием
        TarArchiveEntry entry = new TarArchiveEntry(entryName);
        entry.setSize(in.available());
        archiveOutputStream.putArchiveEntry(entry);
         
        while (in.available() > 10 * 1024 * 1024) {
                    byte b[] = new byte[10 * 1024 * 1024];
                    in.read(b);
                    archiveOutputStream.write(b, 0, b.length);
            }
        byte b[] = new byte[in.available()];
        in.read(b);
        archiveOutputStream.write(b, 0, b.length);
        in.close();
         
        archiveOutputStream.flush();
        archiveOutputStream.closeArchiveEntry();
        archiveOutputStream.flush();
        archiveOutputStream.close();

    найдено в сети.

    Lure Of Chaos, 16 Июня 2011

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    class email_selector {
    
    private static $number_per_page = 30;//
    
    public function getNumberPerPage() {
        return self::$number_per_page;
    }
    
    }

    понятно, что это только кусок класса. увидев, просто не смог не запостить....

    CRRaD, 27 Мая 2011

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

    +141

    1. 1
    [uuid(CAC0EDB3-0F36-4CF2-B133-7DDB02CCD1D2)]

    Часть IDL, обратил внимание на букво-цифры в начале :)
    Just4Fun...

    JeremyW, 19 Мая 2011

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $var = 'element';
    if(preg_match('#^.{7}$#', $var)) {
       // .....
    } else {
      // .....
    }

    Давно рассказывал мне один программист как определять длину строки

    taral, 15 Мая 2011

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

    +159

    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
    bool CSomeClass::Init( int argc, wchar_t* argv[] )
    
    {
    
          bool isOk = true;
    
          bool goOn = true;
    
          for( int i = 0; isOk && goOn; ++i ) {
    
                switch( i ) {
    
                      case 0:
    
                            isOk = checkCommandLine( argc, argv );
    
                            break;
    
                      case 1:
    
                            isOk = checkFileExistence();
    
                            break;
    
                      case 2:
    
                            isOk = initFiles();
    
                            break;
    
                      default:
    
                            goOn = false;
    
                }
    
          }
    
          return isOk;
    
    }

    w100, 14 Мая 2011

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

    +146

    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
    char* a(int pos, char* path)
    { 
        FILE *dbf;
          char value; 
          int i,j,k,l,m,n,o,p,r;
          int numrecs, recnum; 
          Record rec;
          char aa[158];
          char *pp;
          int ln, lp, lc, le, lw, li, ls, lph, lf;    
    
          numrecs = rec.length; 
          recnum = pos;
        dbf = OpenDB(path, &rec);
        ReadRecord(dbf, recnum, &rec);    
        
            ln = strlen(rec.name);
            ls = strlen(rec.surname);
            lp = strlen(rec.patronymic);
            lph = strlen(rec.phone);
            lc = strlen(rec.city);
            le = strlen(rec.edu);
            lw = strlen(rec.work);
            li = strlen(rec.interests);
            lf = strlen(rec.friends);
    
            itoa(recnum, &(aa[0]), 10);
            for (i = 1; i < ln; i++)
                aa[i] = rec.name[i-1];
            for (j = 0; j < ls; j++)
                aa[i+j] = rec.surname[j];
            for (k = 0; k < lp; k++)
                aa[i+j+k] = rec.patronymic[k];
            for (l = 0; l < lph; l++)
                aa[i+j+k+l] = rec.phone[l];
            for (m = 0; m < lc; m++)
                aa[i+j+k+l+m] = rec.city[m];
            for (n = 0; n < le; n++)
                aa[i+j+k+l+m+n] = rec.edu[n];
            for (o = 0; o < lw; o++)
                aa[i+j+k+l+m+n+o] = rec.work[o];
            for (p = 0; p < li; p++)
                aa[i+j+k+l+m+n+o+p] = rec.interests[p];
            for (r = 0; r < lf; r++)
                aa[i+j+k+l+m+n+o+p+r] = rec.friends[r];
    
        pp = strdup(aa);  
        return pp;
    }

    dotnetdeveloper, 12 Мая 2011

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

    +159

    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
    if (!$vid['video_code']) {
            $vars['player'] = 'Онлайн промотр недоступен (не указан плеер)';
            if ($vid['image'] != '') {
                $vars['image'] = RealPath2($config['video']['images_dir'] . SafeDB($vid['image'], 255, str));
                $vars['thumb_image'] = RealPath2($config['video']['images_dir'] . 'thumbs/' . SafeDB($vid['image'], 255, str));
            } else {
                $vars['image'] = false;
            }
        } else {
            if (!$user->Auth and $config['video']['hide_video_guest']) {
                $vars['player'] = '<a href="index.php?name=user&op=registration">Зарегистрируйтесь для просмотра видео онлайн.</a>';
                if ($vid['image'] != '') {
                    $vars['image'] = RealPath2($config['video']['images_dir'] . SafeDB($vid['image'], 255, str));
                    $vars['thumb_image'] = RealPath2($config['video']['images_dir'] . 'thumbs/' . SafeDB($vid['image'], 255, str));
                } else {
                    $vars['image'] = false;
                }
            } else {
                $vars['player'] = $vid['video_code'];
                $vars['image'] = false;
            }
        }

    Мартин, 07 Мая 2011

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // Если регистрация, то показываем контрольный вопрос
    if($_GET['op'] == 'registration') {
    $vars['c_question'] = true;
    } else {
    $vars['c_question'] = false;
    }

    Классика

    Мартин, 02 Мая 2011

    Комментарии (20)
  11. JavaScript / Говнокод #6470

    +174

    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
    var RemainsFullDays=(parseInt(RemainsSec/(24*60*60)));
    var days=" дней "
    if (
                RemainsFullDays==2 ||
                RemainsFullDays==3 ||
                RemainsFullDays==4 ||
                RemainsFullDays==22 ||
                RemainsFullDays==23 ||
                RemainsFullDays==24 ||
                RemainsFullDays==42 ||
                RemainsFullDays==43 ||
                RemainsFullDays==44 ||
                RemainsFullDays==52 ||
                RemainsFullDays==53 ||
                RemainsFullDays==54 ||
                RemainsFullDays==62 ||
                RemainsFullDays==63 ||
                RemainsFullDays==64 ||
                RemainsFullDays==72 ||
                RemainsFullDays==73 ||
                RemainsFullDays==74 ||
                RemainsFullDays==82 ||
                RemainsFullDays==83 ||
                RemainsFullDays==84 ||
                RemainsFullDays==92 ||
                RemainsFullDays==93 ||
                RemainsFullDays==94 ||
                RemainsFullDays==102 ||
                RemainsFullDays==103 ||
                RemainsFullDays==104 ||
                RemainsFullDays==122 ||
                RemainsFullDays==123 ||
                RemainsFullDays==124 ||
                RemainsFullDays==132 ||
                RemainsFullDays==133 ||
                RemainsFullDays==134 ||
                RemainsFullDays==32 ||
                RemainsFullDays==33 ||
                RemainsFullDays==34
                ) {
                days=" дня "
    }
    
    if (
                RemainsFullDays==1 ||
                RemainsFullDays==21 ||
                RemainsFullDays==41 ||
                RemainsFullDays==51 ||
                RemainsFullDays==61 ||
                RemainsFullDays==71 ||
                RemainsFullDays==81 ||
                RemainsFullDays==91 ||
                RemainsFullDays==121 ||
                RemainsFullDays==131 ||
                RemainsFullDays==141 ||
                RemainsFullDays==151 ||
                RemainsFullDays==31 
                ) {
                days=" день "
    }

    Найдено на препарируемом клиентском сайте рядом со счётчиком. Бессмертная вариация на тему классики!

    Особо замечательно что про 31 день явно вспомнили в последний момент.

    dimasokol, 25 Апреля 2011

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