1. JavaScript / Говнокод #16524

    +149

    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
    (function(G, U) {
        "use strict";
        var $ = G.jQuery,
            string = "string",
            number = "number",
            bool   = "boolean",
            object = "object";
    
        function hasStr(obj, prop) {
            return obj.hasOwnProperty(prop) && typeof obj[prop] === string;
        }
    
        function hasNum(obj, prop) {
            return obj.hasOwnProperty(prop) && typeof obj[prop] === number;
        }
    
        function hasArr(obj, prop) {
            return obj.hasOwnProperty(prop) && $.isArray(obj[prop]);
        }
    
        function hasFn(obj, prop) {
            return obj.hasOwnProperty(prop) && $.isFunction(obj[prop]);
        }
    
        function hasBool(obj, prop) {
            return obj.hasOwnProperty(prop) && typeof obj[prop] === bool;
        }
    
        function copyProps(source, target, fields) {
            var i,
                count,
                fieldType,
                fieldTypes = {
                    str : hasStr,
                    bool: hasBool,
                    arr : hasArr,
                    fn  : hasFn,
                    num : hasNum
                };
                
            if (arguments.length < 2){
                return;
            }
            
            if (arguments.length === 2){
                target = {};
            }
    
            if ($.isPlainObject(source) && $.isPlainObject(target) && $.isPlainObject(fields)) {
                for (fieldType in fieldTypes) {
                    if (fieldTypes.hasOwnProperty(fieldType)) {
                        if (hasArr(fields, fieldType)) {
                            for (i = 0, count = fields[fieldType].length; i < count; i += 1) {
                                if (fieldTypes[fieldType](source, fields[fieldType][i])) {
                                    target[fields[fieldType][i]] = source[fields[fieldType][i]];
                                }
                            }
                        }
                    }
                }
            }
            return target;
        }
    
        G.copyProps = copyProps; //Export into global namespace
    }(this, undefined));

    Здравствуйте! Написал функцию, которая безопасно копирует свойства из одного объекта в другой, выполняя проверку типа каждого копируемого поля. Скажите, какие недостатки и насколько оправдано её применение по сравнению со стандартной функцией jQuery extend()? Работает только с простыми объектами, для вложенных объектов нужно ещё раз вызывать эту функцию.

    dunmaksim, 14 Августа 2014

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

    +133

    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
    var status = true;
                    var name = aspnet_UsersRepository.FindAll().FirstOrDefault(u => u.aspnet_Membership.Email.Equals(model.Email, StringComparison.InvariantCultureIgnoreCase));
                    if (name != null) { return View("Error_user"); }
    
                    /*13.08.2014 EmirMamashovCode{} нахождение сущ. ли такой агент*/
                    var usersBalanses = UserBalancesRepository.FindAll().ToList();
                   /* если заполнено код агента и имя агента */
                    if (model.KodAgent != null && model.NameAgent != null)
                    {
                        foreach (var usersBalanse in usersBalanses)
                        {
                            if (model.KodAgent == usersBalanse.KodforPay)
                            {
                                status = true;
                            }
                            else{status = false;}
                        }
                        if (status == false)
                        {
                            return View("Error_notFoundAgent");
                        }
                       
                    }

    нахождение сущ. ли такой агент

    Emir, 13 Августа 2014

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

    +57

    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
    bool Processor::check_holes(int x, int y){
        int scale = 1000000;
        if((x > (die_size-mem_size)/2*scale && x < (die_size-mem_size)*scale) && (y > (die_size-mem_size)/2*scale && y < (die_size-mem_size)*scale)){
            return false;
        }
        if((x > (die_size-mem_size)*scale) && (y > (die_size-mem_size)/2*scale && y < (die_size-mem_size)*scale)){
            if(((int)(x - (die_size-mem_size)*scale) % 400) > 340 && ((int)(y - (die_size-mem_size)/2*scale) % 400) > 340){
                if((x - (die_size-mem_size)*scale) < 2400){
                    return true;
                }
            }
        }
        if((x < (die_size-mem_size)/2*scale) && (y > (die_size-mem_size)/2*scale && y < (die_size-mem_size)*scale)){
            if(((int)((die_size-mem_size)/2*scale - x) % 400) > 340 && ((int)(y - (die_size-mem_size)/2*scale) % 400) > 340){
                if(((die_size-mem_size)/2*scale - x) < 2400){
                    return true;
                }
            }
        }
        if((y > (die_size-mem_size)*scale) && (x > (die_size-mem_size)/2*scale && x < (die_size-mem_size)*scale)){
            if(((int)(y - (die_size-mem_size)*scale) % 400) > 340 && ((int)(x - (die_size-mem_size)/2*scale) % 400) > 340){
                if((y - (die_size-mem_size)*scale) < 2400){
                    return true;
                }   
            }
        }
        if((y < (die_size-mem_size)/2*scale) && (x > (die_size-mem_size)/2*scale && x < (die_size-mem_size)*scale)){
            if(((int)((die_size-mem_size)/2*scale - y) % 400) > 340 && ((int)(x - (die_size-mem_size)/2*scale) % 400) > 340){
                if(((die_size-mem_size)/2*scale - y) < 2400){
                    return true;
                }
            }
        }
        return false;
    }

    Проверяем дырки

    Abbath, 13 Августа 2014

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

    +160

    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 (isset($_POST['find'])) { $find = $_POST['find']; if ($find == '') { unset($find);} } 
    require 'bd.php';
    if (isset($find)){$parametr=$find;} else {$parametr='main';}
    $res = mysql_query("SHOW TABLES");
    if ($parametr != 'main'){
    while ($row = mysql_fetch_row($res)) {if($parametr==$row[0]){$check=1;} }}
    if($check != 1){$parametr='main';} 
    $sql_select = "SELECT * FROM `$parametr`; 
    $result = mysql_query($sql_select);
    $row = mysql_fetch_array($result);
    $query='SELECT MAX(id) FROM `$parametr`';
    $query=mysql_fetch_row(mysql_query($query));
    $max_id=$query[0];
    $i = 1;
    $icorrect = $max_id;
    while ($i <= 18) {
    $query='SELECT * FROM `$parametr` WHERE id='.$icorrect.'';
    $result=mysql_fetch_array(mysql_query($query));
    $i++;
    echo $result['name'],' <b>said</b>: ',$result['text'];
    echo '<br />';
    $icorrect = $icorrect - 1;

    Бухой быдлокодер пытается написать удобный чат на php с полным функционалом в одной странице

    kooomle, 13 Августа 2014

    Комментарии (29)
  5. C++ / Говнокод #16520

    +62

    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
    Grid Processor::build_grid()
    {
        Grid res;
        double top = 340+60;
        double left = 0, right = 60;
        Point a,b,c,d;
        for(int i = 0; i < 6; ++i){
            for(int j = 0; j < 13; ++j){
                a = {left*1e-6, top*1e-6, 2.1e-3};
                b = {right*1e-6, top*1e-6, 2.1e-3};
                c = {(left-3.25)*1e-6, (top+3.25)*1e-6, 2e-3};
                d = {(right+3.25)*1e-6, (top+3.25)*1e-6, 2e-3};  
                auto t = std::make_tuple(a,b,c,d);
                res.push_back(t);
                left += (340+60);
                right += (340+60);
            }
            top += (340+60);
            left = 0;
            right = 60;
        }
        
        top = (int)(-mem_size*1e6)+60;
        left = (int)(mem_size*1e6)+340;
        right = (int)(mem_size*1e6)+400;
        for(int i = 0; i < 13; ++i){
            for(int j = 0; j < 6; ++j){
                a = {left*1e-6, top*1e-6, 2.1e-3};
                b = {right*1e-6, top*1e-6, 2.1e-3};
                c = {(left-3.25)*1e-6, (top+3.25)*1e-6, 2e-3};
                d = {(right+3.25)*1e-6, (top+3.25)*1e-6, 2e-3};  
                auto t = std::make_tuple(a,b,c,d);
                res.push_back(t);
                left += (340+60);
                right += (340+60);
            }
            top += (340+60);
            left = (int)(mem_size*1e6)+340;
            right = (int)(mem_size*1e6)+(340+60);
        }
        
        top = (int)(-(mem_size+2.4e-3)*1e6)+60;
        left = 0, right = 60;
        for(int i = 0; i < 6; ++i){
            for(int j = 0; j < 13; ++j){
                a = {left*1e-6, top*1e-6, 2.1e-3};
                b = {right*1e-6, top*1e-6, 2.1e-3};
                c = {(left-3.25)*1e-6, (top+3.25)*1e-6, 2e-3};
                d = {(right+3.25)*1e-6, (top+3.25)*1e-6, 2e-3};  
                auto t = std::make_tuple(a,b,c,d);
                res.push_back(t);
                left += (340+60);
                right += (340+60);
            }
            top += (340+60);
            left = 0;
            right = 60;
        }
        
        top = (int)(-mem_size*1e6)+60;
        left = -2400;
        right = -2400+60;
        for(int i = 0; i < 13; ++i){
            for(int j = 0; j < 6; ++j){
                a = {left*1e-6, top*1e-6, 2.1e-3};
                b = {right*1e-6, top*1e-6, 2.1e-3};
                c = {(left-3.25)*1e-6, (top+3.25)*1e-6, 2e-3};
                d = {(right+3.25)*1e-6, (top+3.25)*1e-6, 2e-3};  
                auto t = std::make_tuple(a,b,c,d);
                res.push_back(t);
                left += (340+60);
                right += (340+60);
            }
            top += (340+60);
            left = -2400;
            right = -2400+60;
        }
        
        return res;
    }

    Magic numbers, Voodoo numbers!

    Abbath, 12 Августа 2014

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

    −89

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    def mayakovsky(string):
        splitted = string.split('\n')
        l = [splitted[0]]
        lastSpaces = 0
        
        for i in range(1, len(splitted)):
            l += [' '*(lastSpaces + len(splitted[i - 1]) + 1) + splitted[i]]
            lastSpaces += len(splitted[i - 1]) + 1
        return '\n'.join(l)

    Лол.

    gost, 12 Августа 2014

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

    +156

    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
    function tuc1($mensaje)
    		{
    			if (ereg("^[a-zA-Z0-9\-_ ]{1,255}$", $mensaje))
    			{
    				return $mensaje;
    			}else{
    				echo "Сука тебе пиздец мразь,айпи записан менты уже едут.А пока пшел нахуй отсюда.";
    				include('footer.php');
    				exit();
    			}
    		}
    		
    $stana=trim(htmlentities(stripslashes(tuc1($_GET["p"]))));

    //после взлома проснулась у друга параноя

    Reds, 12 Августа 2014

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

    −163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Процедура ЗаполнитьТоЧтоможно()
    
    	СписокТогоЧтоМожно = СоздатьОбъект("СписокЗначений");
    	//Start = _GetPerformanceCounter();
    	ЗапросГрупп = CreateObject("ODBCRECORDSET");

    levxxx, 11 Августа 2014

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

    +158

    1. 1
    <?php $display=''; if ($i>1) { eval('if (!$model->photo'.$i.') {$display = "style=\"display: none;\"";}');} ?>

    Не, ну а чего? Нужно же осваивать новые функции!

    sa-kirich, 11 Августа 2014

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

    +156

    1. 1
    2. 2
    $user_id = $engine->auth->id;
    $sql = "SELECT `id` FROM `arm_tasks` WHERE (followers_id = '{$user_id}' OR followers_id LIKE '{$user_id},%' OR followers_id LIKE '%,{$user_id},%' OR followers_id LIKE '%,{$user_id}') ";

    Вот так отжигает товарищ по отделу.
    Поле followers_id в виде строки с id-шниками через запятую (что тоже не очень хорошо)

    podvzbzdnul, 11 Августа 2014

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