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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    require_once('bbcode.php');
    
    $bbcode_ = $bbcode;
    global $bbcode;
    $bbcode = $bbcode_;
    
    bbcode_format($text);

    При этом:
    function bbcode_format($str, $bbcode = false)

    arkham_vm, 04 Марта 2014

    Комментарии (2)
  2. Python / Говнокод #15296

    −95

    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
    # ~*~ coding: utf8 ~*~
    
    def clear_string(str, to_int = None):
        '''
        Чистим строку от "мусора" - нечисловых символов.
        '''
        new_str = ''
        for s in str:
            # сначала ищем точку (вдруг число с плавающей точкой)
            # при этом в новой строке не должно быть больше одной точки
            # и в условии to_int не определен
            if s == '.' and '.' not in new_str and not to_int:
                new_str += s
            else:
                try:
                    i = int(s)
                    new_str += s
                except:
                    pass
        return new_str
    
    def str_to_int(str):
        '''
        Преобразование стоки в целое число
        '''
        # попробуем воспользоваться самым простым методом
        try:
            return int(str)
        except:
            # если не получилось, то проверяем почему? допускаем, что было передано не целое число в строке
            if '.' in str:
                str = str[0:str.find('.')]
                return str_to_int(str)
            else:
                # если уж совсем дела плохи, то возвращаем 0
                return 0
    
    def check_int(str):
        try:
            int(str)
            return True
        except:
            return False
    
    def str_to_float(str):
        '''
        Преобразование стоки в число с плавающей точкой
        '''
        # попробуем воспользоваться самым простым методом
        try:
            return float(str)
        except:
            # других вариантов не осталось. скорее всего функция приняла на входе мусор
            return 0
    
    def check_float(str):
        try:
            float(str)
            return True
        except:
            return False
    
    # есть у нас незатейливая строка
    str = 'a23d.d.5ff6'
    # проверяем функцию чистки строки
    print('Чищеная строка: %s' % clear_string(str))
    print('Чищеная строка с to_int: %s' % clear_string(str, to_int=True))
    # до преобразования строки в число следовало бы почистить ее
    print('Преобразуем мусор в целое число: %s' % str_to_int(str))
    print('Преобразуем чищеную строку в целое число: %s' % str_to_int(clear_string(str)))
    # преобразуем строку в число с плавающей точкой
    print('Преобразуем мусор в число с плавающей точкой: %s' % str_to_float(str))
    print('Преобразуем чищеную строку в число с плавающей точкой: %s' % str_to_float(clear_string(str)))
    
    print('Проверяем, является ли содержимое строки целочисленным: %s' % check_int(str))
    print('Проверяем, является ли содержимое чищеной строки целочисленным: %s' % check_int(clear_string(str, to_int=True)))
    print('Проверяем, является ли содержимое строки числом с плавающей точкой: %s' % check_float(str))
    print('Проверяем, является ли содержимое чищеной строки числом с плавающей точкой: %s' % check_float(clear_string(str)))

    http://www.haikson.com/blogs/hektor/programming/python/python-preobrazovanie-stroki-v-chislo/

    v0ffka, 03 Марта 2014

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $g_ids = '';
    foreach($gender_ids as $gids) {
    	if($g_ids == '')
    		$g_ids = $gids;
    	else
    		$g_ids = $g_ids.",".$gids;
    }
    return $g_ids;

    угадайте за 5 секунд, что оно делает

    alterionisto, 03 Марта 2014

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

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public string ValidationTitle
    {
        get { return this.Title; }
        set { }
    }

    ArtemASP, 03 Марта 2014

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

    +155

    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
    <?php
    
    class WidgetSidebarUser extends Portlet
    {
        public function renderContent(){
            if(Yii::app()->user->isGuest)
                Yii::app()->controller->redirect('/logout');
            
            $model = User::model()->findByPk(Yii::app()->user->id);
            $this->render('sidebar/user', array('user'=>$model));
        }
    }
    ?>
    
    // sidebar/user
    
    <aside id="sidebar1" class="span3 sidebar">
        <div class="content left ">
            <?php if(!Yii::app()->user->isGuest) if(Yii::app()->user->id === $user->id): ?>
            ...
            <?php else: ?>
                <?php
                $this->widget('application.widgets.ProfileSidebarOther', array(
                    'user' => $user,
                    'profile' => $user->profile,
                ));
                ?>
            <?php endif; ?>
        </div>
    </aside>

    Дорабатываю проект и код немного радует своими проверками. Получается мы выбираем данные пользователя, а потом проверяем "А точно это тот самый пользователь".

    md5S, 03 Марта 2014

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

    +88

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #include <cstdlib>
    #include <ctime>
    main(){
        srand((unsigned)time(NULL));
        int x = 1^~0-(((1+&x?2||0:(~1))-(1 & 2)*.1-(1+-1?5:3)%1)==0?10:-rand()%5+1);
        return 0;
    }

    perl'овцы развлекаются.

    Hammer, 02 Марта 2014

    Комментарии (2)
  7. Куча / Говнокод #15286

    +134

    1. 1
    2. 2
    http://www.freepascal.ru/forum/viewtopic.php?t=9463&p=77107
    ебаный пиздец.

    ебаный пиздец.

    Stertor, 02 Марта 2014

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

    +130

    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
    static void npcMove(string npcid, string posX, string posZ, string posY, int localsid)
            {
                byte[] opcode = { 0x4d, 0x00, 0x16, 0x23, 0x00 };
                byte[] npcid_in_bytes = new byte[4];
                npcid_in_bytes = Enumerable.Range(0, npcid.Length).Where(x => x % 2 == 0).Select(x => Convert.ToByte(npcid.Substring(x, 2), 16)).ToArray();
                Array.Reverse(npcid_in_bytes);
                byte[] posX_in_bytes = PackFloatStringArrayOfBytes(posX);
                byte[] posZ_in_bytes = PackFloatStringArrayOfBytes(posZ);
                byte[] posY_in_bytes = PackFloatStringArrayOfBytes(posY);
                byte[] unknown = { 0x00, 0x0f, 0x5c, 0x01, 0x01 };
                byte[] roleid_in_bytes = packint(16);
                byte[] localdsid_in_bytes = packint(localsid);
                byte[] buffer = opcode.Concat<byte>(npcid_in_bytes)
                    .Concat<byte>(posX_in_bytes).Concat<byte>(posZ_in_bytes).Concat<byte>(posY_in_bytes)
                    .Concat<byte>(unknown).Concat<byte>(roleid_in_bytes).Concat<byte>(localdsid_in_bytes).ToArray<byte>();
                buffer[1] = Convert.ToByte(buffer.Length - 2);
                Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                socket.Connect(localhost, GProviderPort);
                socket.Send(buffer);
                socket.Close();
            }

    VityaPW, 01 Марта 2014

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

    +139

    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
    #include <stdio.h>
    #include <stdlib.h>
    #define value_i int
    #define gen_program main()
    #define begin {
    #define end }
    #define sep ;
    #define back_val return
    #define vis(a) printf ("%d", a)
    #define ln printf ("\n")
    #define ln3 printf ("\n\n\n")
    #define cycle_count for
    #define rand rand()
    #define gen_rand srand((unsigned)time(NULL))
    #define value_c char
    #define vis_c(a) printf("%c", a)
    #define eq =
    #define uneq !=
    #define check ==
    #define inc(a) a++
    #define res %
    #define add +
    #define sub -
    #define blank void
    #define small <
    #define big >
    
    blank line(blank) sep
    
    value_i gen_program
    begin
        value_i x, i                                sep
        gen_rand                                    sep
        value_c c eq ' '                            sep
        cycle_count(i eq 1 sep i small 10 sep inc(i))
        begin
            x eq rand res 10 add 1                  sep
            if (x uneq 10)
            begin
                vis(x)                              sep
                vis_c(c)                            sep
            end
        end
        ln3                                         sep
        line()                                      sep
        ln                                          sep
        back_val 0                                  sep
    
    end
    
    blank line(blank)
    begin
        value_i i sep
        cycle_count (i eq 0 sep i small 10 sep inc(i) )
        begin
        printf("-/*\\")                                sep
        end
        printf("-")                                    sep
    end

    Можно рефакторить.

    Hammer, 01 Марта 2014

    Комментарии (38)
  10. Куча / Говнокод #15278

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    http://www.youtube.com/watch?v=swAEcc9JX4Q
    
    (автор пишет троян на дельфях, и комментирует)
    
    убила фраза:
    
    "...реестр[...]. Так как в линуксе все по-другому, Вы должны быть уверены, что ваша программа запускается на Windows"

    убила фраза:

    "...реестр[...]. Так как в линуксе все по-другому, Вы должны быть уверены, что ваша программа запускается на Windows"

    Stertor, 01 Марта 2014

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