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

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

    +5

    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
    // Если игрок временный то не даём изменять лимит
    
    public void updatePlayerLimits(Long userId, int limitAmount) {
            Player player = userComponent.getPlayer(userId);
            if (player == null) {
                throw new RuntimeException("Error on find user for updating user deposit limits, userId = " + userId);
            }
    
            if (player.isTemporary()) {
            	throw new RuntimeException("saveLimit-newAmount-tempPlayer-message");
            }
           player.setLimit(limitAmount)
    }
    
    // И где-то в контроллере админки
    
    public void doSubmit() {
    ...
    	try {
    		getPlayerLimitComponent().updatePlayerLimits(getPlayerId(), 10);
    	}catch(RuntimeException e){
    		if(!e.getMessage().equals("saveLimit-newAmount-tempPlayer-message"))
    			throw e;
    	}
    }

    Просто молча не даём админам изменять лимиты игроку если он временный

    stokito, 03 Июня 2016

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

    +5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    /**
       * Detects if the current device is using a mac OS
       */
      function DetectMacOSX() {
        if (stripos($this->userAgent, $this->macOSX) !== FALSE) {
          return TRUE;
        }
        else {
          return FALSE;
        }
      }

    vigasin, 01 Июня 2016

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

    +4

    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
    if ($_REQUEST["date_type"] == 1) {
                    $filter .= "AND t.id IN (SELECT task_id FROM `task_comments` WHERE (`status_id`=".$DB->F($doneStatus["id"])." AND DATE_FORMAT(`datetime`, '%Y-%m-%d')>=".$DB->F(date("Y-m-d", strtotime($_POST['datefrom'])))." AND DATE_FORMAT(`datetime`, '%Y-%m-%d')<=".$DB->F(date("Y-m-d", strtotime($_POST['dateto']))).") ORDER BY `datetime` DESC) AND t.id NOT IN (SELECT task_id FROM `task_comments` WHERE (`status_id`=".$DB->F($doneStatus["id"])." AND DATE_FORMAT(`datetime`, '%Y-%m-%d')>".$DB->F(date("Y-m-d", strtotime($_POST['dateto']))).") ORDER BY `datetime` DESC)";
                } else {
                    if ($_REQUEST["date_type"] == 2) {
                        $filter .= "AND t.id IN (SELECT task_id FROM `task_comments` WHERE `status_id` AND (DATE_FORMAT(`datetime`, '%Y-%m-%d')>=".$DB->F(date("Y-m-d", strtotime($_POST['datefrom'])))." AND DATE_FORMAT(`datetime`, '%Y-%m-%d')<=".$DB->F(date("Y-m-d", strtotime($_POST['dateto'])))."))";
                     } else  {                 
                        if ($_REQUEST["date_type"] == 3) {
                            $filter .= "AND t.id IN (SELECT task_id FROM `task_comments` WHERE ((`status_id`=".$DB->F($doneStatus["id"])." OR `status_id`=".$DB->F($failStatus["id"])." OR `status_id`=".$DB->F($failOpStatus["id"]).") AND DATE_FORMAT(`datetime`, '%Y-%m-%d')>=".$DB->F(date("Y-m-d", strtotime($_POST['datefrom'])))." AND DATE_FORMAT(`datetime`, '%Y-%m-%d')<=".$DB->F(date("Y-m-d", strtotime($_POST['dateto']))).") ORDER BY `datetime` DESC) AND t.id NOT IN (SELECT task_id FROM `task_comments` WHERE ((`status_id`=".$DB->F($doneStatus["id"])." OR `status_id`=".$DB->F($failStatus["id"])." OR `status_id`=".$DB->F($failOpStatus["id"]).") AND DATE_FORMAT(`datetime`, '%Y-%m-%d')>".$DB->F(date("Y-m-d", strtotime($_POST['dateto']))).") ORDER BY `datetime` DESC)";                
                        } else {
                            if ($_REQUEST["date_type"] == 4) {
                                // am
                                $filter .= "AND tick.inmoney=1  AND DATE_FORMAT(tick.inmoneydate, '%Y-%m-%d')>=".$DB->F(date("Y-m-d", strtotime($_POST['datefrom']))) . " AND DATE_FORMAT(tick.inmoneydate, '%Y-%m-%d')<=".$DB->F(date("Y-m-d", strtotime($_POST['dateto'])));
                            } else {
                                if ($_REQUEST["date_type"] == 5) {
                                    //cl_date
                                    $filter .= "AND t.id IN (SELECT task_id FROM `task_comments` WHERE (`status_id`=".$DB->F($closedStatus["id"])." AND DATE_FORMAT(`datetime`, '%Y-%m-%d')>=".$DB->F(date("Y-m-d", strtotime($_POST['datefrom'])))." AND DATE_FORMAT(`datetime`, '%Y-%m-%d')<=".$DB->F(date("Y-m-d", strtotime($_POST['dateto']))).") ORDER BY `datetime` DESC) AND t.id NOT IN (SELECT task_id FROM `task_comments` WHERE (`status_id`=".$DB->F($closedStatus["id"])." AND DATE_FORMAT(`datetime`, '%Y-%m-%d')>".$DB->F(date("Y-m-d", strtotime($_POST['dateto']))).") ORDER BY `datetime` DESC)";
                                } else {
                                    if ($_REQUEST["date_type"] == 6) {
                                        //rep_date
                                        $filter .= "AND t.id IN (SELECT task_id FROM `task_comments` WHERE (`status_id`=".$DB->F($reportStatus["id"])." AND DATE_FORMAT(`datetime`, '%Y-%m-%d')>=".$DB->F(date("Y-m-d", strtotime($_POST['datefrom'])))." AND DATE_FORMAT(`datetime`, '%Y-%m-%d')<=".$DB->F(date("Y-m-d", strtotime($_POST['dateto']))).") ORDER BY `datetime` DESC)";
                                    } else {
                                        if ($_REQUEST["date_type"] == 7) {
                                            //rep_date
                                            $filter .= "AND t.id IN (SELECT task_id FROM `task_comments` WHERE (`status_id`=".$DB->F($accStatus["id"])." AND DATE_FORMAT(`datetime`, '%Y-%m-%d')>=".$DB->F(date("Y-m-d", strtotime($_POST['datefrom'])))." AND DATE_FORMAT(`datetime`, '%Y-%m-%d')<=".$DB->F(date("Y-m-d", strtotime($_POST['dateto']))).") ORDER BY `datetime` DESC)";
                                        } else {
                                            $filter .= " AND DATE_FORMAT(t.date_reg, '%Y-%m-%d')>=".$DB->F(date("Y-m-d", strtotime($_POST['datefrom']))) . " AND DATE_FORMAT(t.date_reg, '%Y-%m-%d')<=".$DB->F(date("Y-m-d", strtotime($_POST['dateto'])));
                                        }
                                    }
                                }  
                            }
                            
                        }
                     }
                }

    Запрос для какого-то отчета by ©senior shaurma developer

    pahhan, 22 Мая 2016

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    foreach(mpqn(mpqw("SELECT * FROM {$conf['db']['prefix']}modules_index", "Список модулей", function($error) use($conf){
    	if(strpos($error, "doesn't exist")){
    		qw(pre("ALTER TABLE {$conf['db']['prefix']}modules RENAME {$conf['db']['prefix']}modules_index"));
    	}else{ pre("Ошибка обработки ошибки", $error); }
    })) as $modules){
    	if(array_search($conf['user']['uname'], explode(',', $conf['settings']['admin_usr'])) !== false) $modules['access'] = 5;
    	$conf['modules'][ $modules['folder'] ] = $modules;
    	$conf['modules'][ $modules['folder'] ]['modname'] = $modules['modname'] = (strpos($_SERVER['HTTP_HOST'], "xn--") !== false) ? mb_strtolower($modules['name'], 'UTF-8') : $modules['folder'];
    	$conf['modules'][ $modules['modname'] ] = &$conf['modules'][ $modules['folder'] ];
    	$conf['modules'][ mb_strtolower($modules['name']) ] = &$conf['modules'][ $modules['folder'] ];
    	$conf['modules'][ $modules['id'] ] = &$conf['modules'][ $modules['folder'] ];
    }

    https://github.com/mpak2/mpak.su/blob/master/index.php
    https://habrahabr.ru/post/283166/ - "Самый простой способ создать сайт"

    gost, 10 Мая 2016

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

    0

    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
    struct Base // ñòðóêòóðà äàííûõ 
    
    {
    	char tiker[50];
    	char per[50];
    	//int dateymd;
    	float openPrice;
    	float maxPrice;
    	float minPrice;
    	float closePrice;
    	float volume;
    	float war;
    	float Doch;
    	float Risk;
    
    	//	
    };
    
    
    struct Analys
    
    {
    	char tiker[35];
    	float OgDoh;
    	float Risk;
    	float kov;
    
    	
    
    };for ( int i= 0; i<k; i++)
    	{ if ( vec[i].OgDoh <0)
    	{ vec[i].OgDoh = 0;
    	for (int j=0;j<kol;j++)
    	{VecBase[i+j].Doch = 1000;}
    	}
    	};
    	vec.erase(remove_if(vec.begin(), vec.end(), remover(0) ),
    	vec.end());
    	VecBase.erase(remove_if(VecBase.begin(), VecBase.end(), Remover(1000) ),
    	VecBase.end());
    	vec.shrink_to_fit();
    	VecBase.shrink_to_fit();

    Я подвисла на создании Remover-а

    vec строится на основе VecBase и оба вектора используются в дальнейшем
    да-да, эта штуковина должна удалить все, что связано с vec[i].OgDoh <0

    Ragnareka, 09 Мая 2016

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

    0

    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
    <snippet>
    	<content><![CDATA[
    /**
     * стандартный класс модуля
     */
    Class adeveloper_main extends CModule
    {
    	const MODULE_ID = 'adeveloper.main';
    	var \$MODULE_ID = 'adeveloper.main'; 
    	var \$MODULE_VERSION;
    	var \$MODULE_VERSION_DATE;
    	var \$MODULE_NAME;
    	var \$MODULE_DESCRIPTION;
    	var \$MODULE_CSS;
    	var \$strError = '';
    	function __construct()
    	{
    		\$arModuleVersion = array();
    		include(dirname(__FILE__)."/version.php");
    		\$this->MODULE_VERSION = \$arModuleVersion["VERSION"];
    		\$this->MODULE_VERSION_DATE = \$arModuleVersion["VERSION_DATE"];
    		\$this->MODULE_NAME = "Module Name";
    		\$this->MODULE_DESCRIPTION = "Module desc";
    		\$this->PARTNER_NAME = "Adeveloper";
    		\$this->PARTNER_URI = "http://adeveloper.ru";
    	}
    	function InstallDB(\$arParams = array())
    	{
    		//RegisterModuleDependences('main', 'OnBuildGlobalMenu', self::MODULE_ID, 'CAdeveloperBp', 'OnBuildGlobalMenu');
    		return true;
    	}
    	function UnInstallDB(\$arParams = array())
    	{
    		//UnRegisterModuleDependences('main', 'OnBuildGlobalMenu', self::MODULE_ID, 'CAdeveloperBp', 'OnBuildGlobalMenu');
    		return true;
    	}
    	function InstallEvents()
    	{
    		return true;
    	}
    	function UnInstallEvents()
    	{
    		return true;
    	}
    	function InstallFiles(\$arParams = array())
    	{
    		return true;
    	}
    	function UnInstallFiles()
    	{
    		return true;
    	}
    	function DoInstall()
    	{
    //		global \$APPLICATION;
    	
    		RegisterModule(self::MODULE_ID);
    	}
    	/**
    	 *  @todo добавить блок удаления инфоблока, пока не делаю, чтобы лишнего не удалить
    	 */
    	function DoUninstall()
    	{
    //		global \$APPLICATION;
    		UnRegisterModule(self::MODULE_ID);
    	}
    };
    ]]></content>
    	<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    	<tabTrigger>bx-module-class</tabTrigger>
    	<!-- Optional: Set a scope to limit where the snippet will trigger -->
    	<scope>source.php</scope>
    </snippet>

    Шел 2016 год, а var и globals все никак не могу покинуть адептов битрикса.

    https://github.com/adevelopers/bitrix/blob/master/BitrixSnippets/modules/bx-module-class.sublime-snippet

    Keeper, 03 Мая 2016

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

    +5

    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
    var ls = new List<List<Tuple<Terminal, int>>>();
                var cl = new List<Tuple<Terminal, int>>();
                for (int i = 0; i < Template.Terminals.Count; i++)
                {
                    var term = Template.Terminals[i];
                    var s = term.Text;
                    if (s.Count(c => c == '\n' || c == '\r') > 0)
                    {
                        var arr = s.Split('\n', '\r');
                        for (var j = 0; j < arr.Length - 1; j++)
                        {
                            if (arr[j].Length == 0) arr[j] = " ";
                            cl.Add(Tuple.Create(new Terminal(arr[j], term), i));
                            ls.Add(cl);
                            cl = new List<Tuple<Terminal, int>>();
                        }
                        s = arr[arr.Length - 1];
                    }
                    cl.Add(Tuple.Create(new Terminal(s, term), i));
                }
                ls.Add(cl);
    
                var h = 0d;
                var renderLine = new List<Tuple<double, int, Terminal>>();
                var flag = false;
                foreach (var l in ls)
                {
                    renderLine = new List<Tuple<double, int, Terminal>>();
                    var w = 0d;
                    var lineH = 0d;
                    foreach (var term in l)
                    {
                        var ft = new FormattedText(term.Item1.Text, CultureInfo.CurrentCulture,
                            FlowDirection.LeftToRight, new Typeface("Verdana"), 10, Brushes.Black);
                        ft.Set(term.Item1);
                        lineH = Math.Max(lineH, ft.Height);
                        w += ft.WidthIncludingTrailingWhitespace;
                        renderLine.Add(Tuple.Create(w, term.Item2, term.Item1));
                    }
                    h += lineH;
                    if (p.Y < h) { flag = true; break; }
                }
                pp = p;
                InvalidateVisual();
                if (!flag)
                    return;
                flag = false;
                Tuple<double, int, Terminal> ct = null;
                foreach (var d in renderLine)
                    if (d.Item1 > p.X)
                    {
                        flag = true;
                        ct = d;
                        Debug.WriteLine(d.Item2);
                        _sTermEnd = _sTermStart = d.Item2;
                        break;
                    }
                if (!flag)
                    return;
                var ft1 = new FormattedText(ct.Item3.Text, CultureInfo.CurrentCulture,
                     FlowDirection.LeftToRight, new Typeface("Verdana"), 10, Brushes.Black);
                ft1.Set(ct.Item3);
                var sw = ct.Item1 - ft1.WidthIncludingTrailingWhitespace;
                for (int i = 0; i < ct.Item3.Text.Length; i++)
                {
                    var ch = ct.Item3.Text[i];
                    var ft2 = new FormattedText(ch.ToString(), CultureInfo.CurrentCulture,
                        FlowDirection.LeftToRight, new Typeface("Verdana"), 10, Brushes.Black);
                    ft2.Set(ct.Item3);
                    sw += ft2.WidthIncludingTrailingWhitespace;
                    if (sw > p.X)
                    {
                        Debug.WriteLine(i);
                        _sOffEnd = _sOffStart = i;
                        break;
                    }
                }

    qwe345asd, 13 Апреля 2016

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

    +3

    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
    constexpr Vector(Vector&& vector) noexcept :
                x(vector.x), y(vector.y), z(vector.z)
            {
                vector.x = vector.y = vector.z = T();
            }
    
            constexpr Vector& operator=(Vector&& vector) noexcept
            {
                if (this == &vector)
                    return *this;
    
                x = vector.x;
                y = vector.y;
                z = vector.z;
    
                vector.x = vector.y = vector.z = T();
    
                return *this;
            }

    jangolare, 13 Апреля 2016

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

    +4

    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
    constexpr Fraction operator+(const Fraction& fraction) const noexcept
        {
            const Fraction max_fraction_by_denominator{denominator > fraction.denominator ? *this : fraction};
            const Fraction min_fraction_by_denominator{denominator < fraction.denominator ? *this : fraction};
            const bool is_sim_denominator = max_fraction_by_denominator.denominator %
                                            min_fraction_by_denominator.denominator == 0;
            int sim_denominator = is_sim_denominator ?
                max_fraction_by_denominator.denominator : (max_fraction_by_denominator.denominator *
                min_fraction_by_denominator.denominator);
            const int nominator1 = is_sim_denominator ? (min_fraction_by_denominator.nominator *
                max_fraction_by_denominator.denominator / min_fraction_by_denominator.denominator) :
                min_fraction_by_denominator.nominator * max_fraction_by_denominator.denominator;
            const int nominator2 = is_sim_denominator ? max_fraction_by_denominator.nominator :
                max_fraction_by_denominator.nominator * min_fraction_by_denominator.denominator;
            int nominators_sum = nominator1 + nominator2;
            int while_parts_sum = while_part + fraction.while_part;
    
            while (nominators_sum >= sim_denominator)
            {
                nominators_sum -= sim_denominator;
                ++while_parts_sum;
            }
    
            if (!nominators_sum)
                sim_denominator = 0;
    
            return {while_parts_sum, nominators_sum, sim_denominator};
        }

    jangolare, 06 Апреля 2016

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

    0

    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
    public function getWinnerEmail($id)
    {
            if (!is_numeric($id)) {
                throw new BadRequestHttpException('Ошибка:' . __FUNCTION__ . ' ' . __LINE___);
            }
    
            //$project = Projects::findOne(['id' => $id]);
            $project = (new \yii\db\Query())
                ->select(['id', 'win_user_id'])
                ->from(self::tableName())
                ->where(['id' => $id])
                ->one();
    //        if ($project['win_user_id'] == null) {
    //            return false;
    //        }
    
            $result = User::findOne(['id' => $project['win_user_id']]);
            if ($result != null) {
                return ['id' => $result->id, 'email' => $result->email];
            }
    }

    Метод модели "Project"
    PHP-Framework yii2

    NotFake, 22 Марта 2016

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