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

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

    +162

    1. 1
    <div onclick="selectHoveer($('#type_tr2'));">

    Учитесь щенки как передавать элементы в функцию

    gam0ra, 14 Апреля 2015

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

    +77

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    val field = HttpEntityWrapper.class.getDeclaredField("wrappedEntity");
    field.setAccessible(true);
    
    HttpEntity entity = response.getEntity();
    
    while (entity instanceof HttpEntityWrapper) {
    	entity = (HttpEntity) field.get(entity);
    }
    
    log.info("Response entity class: {}", entity.getClass().getName());

    Чего только не приходится делать ради отладки...

    someone, 10 Апреля 2015

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

    +137

    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
    #include <iostream>
    
    template <typename T>
    struct Symbol {};
    
    template <>
    struct Symbol<int> {
        static constexpr const char value = 'd';
    };
    template <>
    struct Symbol<float> {
        static constexpr const char value = 'f';
    };
    
    template<std::size_t N, typename T>
    constexpr bool check_arg_part(const char (&s)[N], size_t i, T d)
    {
        if (i == N)
            return true;
    
        if (i < N - 1) {
            if (s[i] == '%') {
                if (s[i + 1] != Symbol<T>::value)
                    return false;
            }
        }
        return check_arg_part(s, i + 1, d);
    }
    
    template<std::size_t N, typename T>
    constexpr bool check_arg(const char (&s)[N], T d) {
        return check_arg_part(s, 0, d);
    }
    
    int main(int , char*[]) {
        std::boolalpha(std::cout);
    
    
        constexpr bool r = check_arg("foo is int: %d", 1);
        std::cout << "Argument integer is correct: " << r << std::endl;
        constexpr bool r1 = check_arg("foo is float:  %f", 1.0f);
        std::cout << "Argument float is correct: " << r1 << std::endl;
        constexpr bool r2 = check_arg("foo is float: %f", 1);
        std::cout << "Argument int is correct: " << r2 << std::endl;
    
        return 0;
    }

    По мотивам http://govnokod.ru/17925:

    Функция в compile time проверяет соответствие типов. Работает на clang и почему-то валится на gcc.

    gorthauer87, 09 Апреля 2015

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

    +158

    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
    $sql="select Id as Id from $table_work where SubstatusId=1 and StatusId=6 and ((UNIX_TIMESTAMP()-UNIX_TIMESTAMP(UpdTime))>25200)";
    $result=mysql_query($sql) or die();
    while($row = mysql_fetch_array($result)){
    	$sqlu="update $table_work set StatusId=5, SubstatusId=0 where Id=".$row["Id"];
    	mysql_query($sqlu) or die();
    	$sqlu="CALL set_history(".$row["Id"].",NULL,'Отказ роботом')";   ;Внимание Вопрос, что в черном ящике
    	mysql_query($sqlu) or die();
    }
    
    ; а там просто INSERT 0_o
    CREATE DEFINER=`vvejxoqw`@`localhost` PROCEDURE `set_last_time`(IN `UserId` int,IN `RegionId` int)
    BEGIN
    Insert LastGetQueue (UserId,RegionId,LastGetQueue) VALUE(UserId,RegionId,NOW());
    END$

    Ну и моё любимое SELECT Id AS Id
    p.s. попалась в руки цмc'ка написанная 1С прогером, ребята это ад. По 3 минуты ждешь результата на 8Mhz 8Gb VPS

    gumanoit, 05 Апреля 2015

    Комментарии (10)
  6. Python / Говнокод #17896

    −117

    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
    def onRefreshReaders( self, event ):
    
    		#try:
    			self.readersListBox.Clear()
    			readers = self.burner.getReaders()
    
    			if isinstance(readers,BaseException):
    				raise BaseException("Can't find burner app!")
    
    			self.readersListBox.AppendItems(  readers)
    			self.readersListBox.SetSelection( 0 )
    		#except OSError as e:
    			#wx.MessageBox("Signer cant be empty!\n", "Error",wx.OK | wx.ICON_ERROR)

    qj,fysqhjn

    Anus, 31 Марта 2015

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

    +74

    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
    // used SQL statements
    private static final String UNIQUE = " UNIQUE ";
    private static final String INTEGER = " INTEGER ";
    private static final String TEXT = " TEXT ";
    private static final String INTEGERC = " INTEGER, ";
    private static final String TEXTC = " TEXT, ";
    private static final String PARENTHSE_LEFT = " ( ";
    private static final String PARENTHSE_RIGHT = " ) ";
    private static final String CREATE_TABLE_IF_NOT_EXISTS = "CREATE TABLE IF NOT EXISTS ";
    private static final String INTEGER_PRIMARY_KEY = " INTEGER PRIMARY KEY, ";
    private static final String DROP_TABLE_IF_EXISTS = "DROP TABLE IF EXISTS ";
    ...
    private void createLanguageTable(SQLiteDatabase db) {
        final StringBuilder sql = new StringBuilder();
        sql.append(CREATE_TABLE_IF_NOT_EXISTS);
        sql.append(LANGUAGE);
        sql.append(PARENTHSE_LEFT);
        sql.append(LANGUAGE_ID);
        sql.append(INTEGER_PRIMARY_KEY);
        sql.append(LANGUAGE_NAME);
        sql.append(TEXTC);
        sql.append(UNIQUE); // ensures uniqueness for languages
        sql.append(PARENTHSE_LEFT);
        sql.append(LANGUAGE_NAME);
        sql.append(PARENTHSE_RIGHT);
        sql.append(PARENTHSE_RIGHT);
        Log.d("CREATE_TABLE_LANGUAGE", sql.toString());
        db.execSQL(sql.toString());
    }

    Случайно найдено на просторах интернета здесь: http://cleancodedevelopment-qualityseal.blogspot.com/2014/07/how-to-import-export-or-backup-sqlite.html
    Кто подскажет, может, есть какой-нибудь сакральный смысл писать так по-индусски?

    Actine, 30 Марта 2015

    Комментарии (10)
  8. bash / Говнокод #17856

    −116

    1. 1
    2. 2
    for i in `seq 1 10000`; do echo $i; done | parallel --gnu sh -c ':;echo {}; python getreq.py {} >olymp-{}.html'
    (for i in olymp-*.html; do echo `md5sum $i`; done) | sort | awk '{ print $2, $1 }' | uniq -f 1 | awk '{ print $1 }' | xargs -I{} -n 1 sh -c ":;(cat {} | egrep -o 'question__section-name.*?</div>' | sed 's/question__section-name\">//g' | sed 's/<\/div>//g' | tr -d '\n'); echo \ {}" | sort | awk '{ print $(NF)}' | xargs -I{} -n 1 cat {} >>total2.html

    Скачал все задачки универсиады и собрал в один файлик.
    Смотреть страшно

    allocator, 25 Марта 2015

    Комментарии (10)
  9. Java / Говнокод #17846

    +78

    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
    /*
         Внимание, хардкод!
         С сервера приходит время в формате 2014-09-25 00:30:00.000010+04:00
         Метод convertDate() возвращает время в формате "24:30", поэтому такой костыль
    */
    public static String getTimeFromServerDate(String input_date) {
        int start = 10;
        int end = 16;
    
        if(input_date.length()>end){
            return input_date.substring(start, end);
        }
        return null;
    }

    Не знаю кто эту хуйню писал, но мы её теперь поддерживаем =(

    pr0gl, 23 Марта 2015

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

    +354

    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
    private ChessField Recognize()
            {
                var output = new ChessField();
                for (int x = 0; x < 8; x++)
                {
                    for (int y = 0; y < 8; y++)
                    {
                        var xs = x*50;
                        var ys = y*50;
    
                        if (IsNeutral(bitmap.GetPixel(xs + 25, ys + 33)) && IsNeutral(bitmap.GetPixel(xs + 8, ys + 40)))
                        {
                            output.figures[y,x].kindOfFigure = Figure.KindOfFigure.Empty;
                        }
                        else
                        {
                            if ((IsWhite(bitmap.GetPixel(xs + 25, ys + 34)) ||
                                IsWhite(bitmap.GetPixel(xs + 30, ys + 25))) && !IsBlack(bitmap.GetPixel(xs + 9, ys + 42)))
                            {
                                output.figures[y, x].color = Figure.Color.White;
                                //white rec
    
                                
                                if (IsBlack(bitmap.GetPixel(xs + 25, ys + 7)))
                                {
                                    output.figures[y, x].kindOfFigure = Figure.KindOfFigure.King;
                                    continue;
                                }
                                if (!IsWhite(bitmap.GetPixel(xs + 25, ys + 32)))
                                {
                                    output.figures[y, x].kindOfFigure = Figure.KindOfFigure.Queen;
                                    continue;
                                }
                                if (IsBlack(bitmap.GetPixel(xs + 25, ys + 22)))
                                {
                                    output.figures[y, x].kindOfFigure = Figure.KindOfFigure.Bishop;
                                    continue;
                                }
                                if (IsBlack(bitmap.GetPixel(xs + 25, ys + 27)))
                                {
                                    output.figures[y, x].kindOfFigure = Figure.KindOfFigure.Knight;
                                    continue;
                                }
                                if (IsWhite(bitmap.GetPixel(xs + 15, ys + 15)))
                                {
                                    output.figures[y, x].kindOfFigure = Figure.KindOfFigure.Rook;
                                    continue;
                                }
                                output.figures[y, x].kindOfFigure = Figure.KindOfFigure.Pawn;
    
                            }
                            else
                            {
                                output.figures[y, x].color = Figure.Color.Black;
                                //black rec
                                if (!IsBlack(bitmap.GetPixel(xs + 25, ys + 25)))
                                {
                                    output.figures[y, x].kindOfFigure = Figure.KindOfFigure.Bishop;
                                    continue;
                                }
                                if (!IsBlack(bitmap.GetPixel(xs + 25, ys + 28))||
                                    !IsBlack(bitmap.GetPixel(xs + 25, ys + 29)))
                                {
                                    output.figures[y, x].kindOfFigure = Figure.KindOfFigure.Knight;
                                    continue;
                                }
                                if (!IsBlack(bitmap.GetPixel(xs + 25, ys + 36)))
                                {
                                    output.figures[y, x].kindOfFigure = Figure.KindOfFigure.Rook;
                                    continue;
                                }
                                if (!IsBlack(bitmap.GetPixel(xs + 25, ys + 31)))
                                {
                                    output.figures[y, x].kindOfFigure = Figure.KindOfFigure.King;
                                    continue;
                                }
                                if (!IsBlack(bitmap.GetPixel(xs + 25, ys + 33)))
                                {
                                    output.figures[y, x].kindOfFigure = Figure.KindOfFigure.Queen;
                                    continue;
                                }
                                output.figures[y, x].kindOfFigure = Figure.KindOfFigure.Pawn;
                            }
                        }
    
                    }
                }
                return output;
            }

    4 часа ночи, вино, кофе, чужой курсач, распознание шахматных фигур со скриншота типа этого

    http://download.hdd.tomsk.ru/preview/xjntlwtz.jpg

    естесно поле уже вырезано и поджато под 400 на 400 пикселей

    kegdan, 20 Марта 2015

    Комментарии (10)
  11. Си / Говнокод #17770

    +145

    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
    #include <stdio.h>
    int main (void)
    {
    printf("a");
    printf("\n");
    printf("ab");
    printf("\n");
    printf("abc");
    printf("\n");
    printf("abcd");
    printf("\n");
    printf("abcde");
    printf("\n");
    printf("abcdef");
    printf("\n");
    printf("abcdefg");
    printf("\n");
    printf("abcdefgh");
    printf("\n");
    printf("abcdefghi");
    printf("\n");
    printf("abcdefghig");
    printf("\n");
    printf("abcdefghigk");
    printf("\n");
    printf("abcdefghigkl");
    printf("\n");
    printf("abcdefghigklm");
    printf("\n");
    printf("abcdefghigklmn");
    printf("\n");
    printf("abcdefghigklmno");
    printf("\n");
    printf("abcdefghigklmnop");
    printf("\n");
    printf("abcdefghigklmnopq");
    printf("\n");
    printf("abcdefghigklmnopqr");
    printf("\n");
    printf("abcdefghigklmnopqrs");
    printf("\n");
    printf("abcdefghigklmnopqrst");
    printf("\n");
    printf("abcdefghigklmnopqrstu");
    printf("\n");
    printf("abcdefghigklmnopqrstuv");
    printf("\n");
    printf("abcdefghigklmnopqrstuvw");
    printf("\n");
    printf("abcdefghigklmnopqrstuvwx");
    printf("\n");
    printf("abcdefghigklmnopqrstuvwxy");
    printf("\n");
    printf("abcdefghigklmnopqrstuvwxyz");
    printf("\n");
    return 0;
    }

    alexmir, 12 Марта 2015

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