1. PHP / Говнокод #11370

    +141

    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
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    <?php
    
    $sub = $_POST['sub'];
    
    if ($sub == "Поменять"){
    
    $player1 = $_POST['player1'];
    $player2 = $_POST['player2'];
    
    // количество дней
    $days = "";
    $fl = "sys/days.cou";
    $fp = fopen($fl,"r");
    while(!feof($fp)){
    $days .= fgets($fp,2);
    }
    fclose($fp);
    
    // РАБОТА С ИМЕНАМИ
    
    // считываю имя первого pl1 - саша
    
    $name1 = "";
    $fl = "db/player".$player1.".nm";
    $fp = fopen($fl,"r");
    while(!feof($fp)){
    $name1 .= fgets($fp,2);
    }
    fclose($fp);
    
    // новый файл pl2_ саша
    
    $fl = "db/player".$player2.".nm_";
    $fp = fopen($fl,"w+");
    $fw = fwrite($fp,$name1);
    fclose($fp);
    
    // считываю имя второго pl2 маша
    $name2 = "";
    $fl = "db/player".$player2.".nm";
    $fp = fopen($fl,"r");
    while(!feof($fp)){
    $name2 .= fgets($fp,2);
    }
    fclose($fp);
    
    // новый файл pl1 маша
    
    $fl = "db/player".$player1.".nm";
    $fp = fopen($fl,"w+");
    $fw = fwrite($fp,$name2);
    fclose($fp);
    
    // новый файл pl2 саша
    
    $fl = "db/player".$player2.".nm";
    $fp = fopen($fl,"w+");
    $fw = fwrite($fp,$name1);
    fclose($fp);
    
    // удаляю pl2_ саша
    unlink("db/player".$player2.".nm_");
    
    // появляются файлы pl1 маша и pl2 саша
    
    
    // ТЕПЕРЬ РАБОТА С РЕЗУЛЬТАТАМИ
    
    
    for ($i=1; $i<=$days; $i++){
    
    // считываю если есть резы pl1
    $fl = "db/p".$player1."d".$i.".mon";
    if (file_exists($fl)){
    
    $rez = "";
    $fp = fopen($fl,"r");
    while(!feof($fp)){
    $rez .= fgets($fp,2);
    }
    fclose($fp);
    
    $fl = "db/p".$player2."d".$i.".mon_";
    $fp = fopen($fl, "w+");
    $fw = fwrite($fp, $rez);
    fclose($fp);
    
    }
    
    // считываю, если есть резы pl2
    $fl = "db/p".$player2."d".$i.".mon";
    if (file_exists($fl)){
    
    $rez = "";
    $fp = fopen($fl,"r");
    while(!feof($fp)){
    $rez .= fgets($fp,2);
    }
    fclose($fp);

    Вот, выдавил из себя говнокод, который меняет местами игроков в таблице. Имена записаны в файлы player1.nm, player2.nm и т.д.
    Результаты определенных дней записаны по такой структуре:
    1) Есть дата 1.07.2012, она записана в файл day2.day (вообщем, в файл с номером по порядку: day1.day, day2.day и т.д.)
    2) Если игрок player1.nm играл в день 2, на который установлена дата 1.07.2012, то к нему создается файл p1d2.mon, в который записывается его результат.
    3) Потом просто считываются каждый из файлов p[PLAYER]d[DAY].mon и создается таблица.
    Вот сам сайт: http://pokerstat.16mb.com/

    EndoCrinolog, 06 Июля 2012

    Комментарии (32)
  2. PHP / Говнокод #11369

    +52

    1. 1
    2. 2
    define(ADS_ACTIVE_TIME, '+1 month');
    $active = date('d.m.Y H:i:s', strtotime(ADS_ACTIVE_TIME, strtotime(date('d.m.Y H:i:s'))));

    Коммерческий проект. Про time() мы не слышали, похоже...

    twsdwf, 06 Июля 2012

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

    +26

    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
    input >> heap;
    	while( heap[0] == '0' ) heap.erase( 0, 1 );
    
    	heaps.push_back( heap );
    
    	input >> heap;
    	while( heap[0] == '0' ) heap.erase( 0, 1 );
    
    	heaps.push_back( heap );
    
    	input >> heap;
    	while( heap[0] == '0' ) heap.erase( 0, 1 );
    
    	heaps.push_back( heap );

    Fai, 05 Июля 2012

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

    +21

    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
    template <typename T> 
    void sort( T array[], size_t length ) {
    	size_t left_index = 0;
    	size_t right_index = length - 1;
    
    	while ( left_index < right_index ) {
    		size_t min_index = min( array, left_index, right_index );
    		swap( array, min_index, left_index );
    
    		size_t max_index = max( array, left_index, right_index );
    		swap( array, max_index, right_index );
    
    		left_index++;
    		right_index--;
    	}
    }

    Fai, 05 Июля 2012

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

    −125

    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
    if ($f_ISSUE_DATE !~ /^\d\d.\d\d.\d\d\d\d/ && $f_ISSUE_DATE){
                    $e_ISSUE_DATE = 'Дата выдачи паспорта вводится в формате "ДД.ММ.ГГГГ"';
                    $errorCounter ++;
            }
            if ($f_ADDRESS_OF_SVC_SHOP !~ /^(\w+)\s+(.+?),\s*(ул\.)\s*(.*)$/ &&
            $f_ADDRESS_OF_SVC_SHOP !~ /^(\w+)\s+(.+?),\s*(бул\.)\s*(.*)$/ &&
            $f_ADDRESS_OF_SVC_SHOP !~ /^(\w+)\s+(.+?),\s*(наб\.)\s*(.*)$/ &&
            $f_ADDRESS_OF_SVC_SHOP !~ /^(\w+)\s+(.+?),\s*(пер\.)\s*(.*)$/ &&
            $f_ADDRESS_OF_SVC_SHOP !~ /^(\w+)\s+(.+?),\s*(пл\.)\s*(.*)$/ &&
            $f_ADDRESS_OF_SVC_SHOP !~ /^(\w+)\s+(.+?),\s*(пр\.)\s*(.*)$/ &&
            $f_ADDRESS_OF_SVC_SHOP !~ /^(\w+)\s+(.+?),\s*(просп\.)\s*(.*)$/ &&
            $f_ADDRESS_OF_SVC_SHOP !~ /^(\w+)\s+(.+?),\s*(шоссе)\s*(.*)$/ &&
            $f_ADDRESS_OF_SVC_SHOP !~ /^(\w+)\s+(.+?),\s*()\s*(.*)$/)        {
                    $e_ADDRESS_OF_SVC_SHOP = 'Неправильный формат фактического адреса';
                    $errorCounter ++;
            }

    Ебаный стыд!!!
    скопипасчено из попавшегося куска "исподников", идет прям подряд.
    Уж даже и не знаю - что больший пиздец - первая часть или вторая.

    PS. Для тех кто вел себя хорого - конфетка!
    ВЕСЬ, БЛЯДЬ, проект постоен без единого гвозьдя!!! НИ ОДИН объект не пострадал!!!

    Meettya, 05 Июля 2012

    Комментарии (22)
  6. Java / Говнокод #11365

    +82

    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
    protected string buildInsertString(ForecastTransactionsBean ft)
     {
        String sql = (new StringBuilder("insert into ")).append(getTableName()).append(" (").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append("year,version_num,corp,acct_num,dept_num,cc,").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append("epd_num,est_mar,est_apr,est_may,").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append("est_jun,est_jul,est_aug,est_sep,est_oct,est_nov,").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append("est_dec,est_jan,est_feb,inputby,batch_id,inputdate,").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append("manualetc,forecastnotes,acct_class,resource_group").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(") values ('").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getYear().toString()).append("',").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getVersionNum().toString()).append(",'").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getCorp().toString()).append("','").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getAcctNum().toString()).append("','").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getDeptNum().toString()).append("','").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getCc().toString()).append("','").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getEpdNum().toString()).append("',").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getEstMar().toString()).append(",").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getEstApr().toString()).append(",").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getEstMay().toString()).append(",").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getEstJun().toString()).append(",").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getEstJul().toString()).append(",").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getEstAug().toString()).append(",").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getEstSep().toString()).append(",").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getEstOct().toString()).append(",").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getEstNov().toString()).append(",").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getEstDec().toString()).append(",").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getEstJan().toString()).append(",").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getEstFeb().toString()).append(",'").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getInputBy().toString()).append("','").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getBatchId().toString()).append("','").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append(ft.getInputDate().toString()).append("',").toString();
        sql = (new StringBuilder(string.valueOf(sql))).append("0,'Clarity','','')").toString();
        return sql;
     }

    denis90, 05 Июля 2012

    Комментарии (12)
  7. Java / Говнокод #11364

    +118

    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
    private String compileOwnerName() {
    		return Joiner.on(' ').skipNulls().
    		String firstName = ownerFirstName.getValue();
    		String lastName = ownerLastName.getValue();
    		
    		final StringBuilder buffer = new StringBuilder();
    		boolean first = true;
    		
    		if (firstName != null) {
    			firstName = firstName.trim();
    			
    			if (!"".equals(firstName)) {
    				buffer.append(firstName);
    				first = false;
    			}
    		}
    
    		if (lastName != null) {
    			lastName = lastName.trim();
    			
    			if (!"".equals(lastName)) {
    				if (!first) {
    					buffer.append(" ");
    				}
    				
    				buffer.append(lastName);
    			}
    		}
    		
    		return buffer.toString();
    	}

    В итоге заменено однострочником на Perl:

    return Joiner.on(' ').skipNulls().join(Strings.emptyToNull(ownerFirstName.getValue().trim()),
    ownerLastName.getValue().trim()));

    someone, 05 Июля 2012

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

    +112

    1. 1
    int cutPosition = sb.ToString().IndexOf("                                          \r\n                                          ");

    Коммерческий проект :)

    ddv_demon, 05 Июля 2012

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

    +15

    1. 1
    system("PAUSE")

    Красивое, оптимальное, и самое главное, кроссплатформенное решение для ожидания нажатия клавиши.
    http://habrahabr.ru/post/147104/

    Предупреждая вопрос "где здесь с++", отвечу - автор считал, что он пишет на с++, и даже использовал пару конструкций оттуда - перегрузку функций и new/delete.

    bormand, 05 Июля 2012

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

    +15

    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
    #pragma once
    #include <assert.h>
     
    template<typename T>
    inline T notNull(T arg)
    {
            assert(arg!=NULL);
            return arg;
    }
     
    /*
    //example:
    class AnotherClass;
    
    class SomeClass
    {
    AnotherClass * m_another;
    //...
            SomeClass(AnotherClass * another, /*skipped*/) : m_another(notNull(another)), /*skipped*/;
    }
    */

    Мелочь, конечно же, но всё-таки чушь, несмотря на пользу.

    Xom94ok, 04 Июля 2012

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