1. C# / Говнокод #23311

    −1

    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
    public List<List<Selection>> CompareMarketsForSurebet(List<Market> markets)
    {
        if (markets.Count == 0) return null;
        // We analyse markets where we have 2 or 3 outcomes, if i'm not mistaken
        markets = markets.Where(x => x.Selections.Count > 1 && x.Selections.Count < 4).ToList();
        if (markets.All(CheckForSurebet)) return null;
    
        var selectionsCount = markets[0].Selections.Count;
        var surebets = new List<List<Selection>>();
        var p1 = markets.Select(x => x.Selections[0]).ToList();
        var p2 = markets.Select(x => x.Selections[1]).ToList();
        var p3 = new List<Selection>();
        if (selectionsCount > 2) p3 = markets.Select(x => x.Selections[2]).ToList();
    
        if (markets.All(x => x.Name == markets[0].Name))
        {
            var listOfOdds = new List<Selection>();
            var clone = new List<Selection>();
            foreach (var t1 in p1)
            {
                listOfOdds.Add(t1);
                foreach (var t2 in p2)
                {
                    listOfOdds.Add(t2);
                    if (selectionsCount > 2)
                    {
                        foreach (var t3 in p3)
                        {
                            listOfOdds.Add(t3);
                            if (SurebetFormule(listOfOdds.Select(x => x.K)))
                            {
                                clone = listOfOdds.ToList();
                                surebets.Add(clone);
                            }
                            listOfOdds.RemoveAt(listOfOdds.Count - 1);
                        }
                        listOfOdds.RemoveAt(listOfOdds.Count - 1);
                    }
                    else
                    {
                        if (SurebetFormule(listOfOdds.Select(x => x.K)))
                        {
                            clone = listOfOdds.ToList();
                            surebets.Add(clone);
                        }
                        listOfOdds.RemoveAt(listOfOdds.Count - 1);
                    }
                }
                listOfOdds.Clear();
            }
        }
        return surebets;
    }

    выявлял surebet-ы говновой функцией :)

    govnoBet, 30 Августа 2017

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

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    public List<Market> GetMarkets(List<Sport> sports)
    {
         return (from sport in sports from region in sport.Regions from league in region.Leagues from game in league.Games from market in game.Markets select market).ToList();
    }

    вонючий код от решарпера

    govnoBet, 30 Августа 2017

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

    −3

    1. 1
    2. 2
    3. 3
    4. 4
    Деанон j123123: [email protected], Калининград, Евгений, +79005699614
    Деанон inkanus-gray: [email protected], Москва, Илья, +79096973744
    Деанон kegdan: [email protected], Томск, Михаил, +79234101342
    Деанон TarasB: [email protected], Питер, имя не установлено, +79119017975

    strtr, 30 Августа 2017

    Комментарии (131)
  4. JavaScript / Говнокод #23308

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function httpGet(url, params) {
    	var deferred = $q.defer();
    
    	$http.get(url, {params: params}).then(function (response) {
    		deferred.resolve(response);
    	}, function (response) {
    		deferred.reject(response);
    	});
    
    	return deferred.promise;
    }

    user-dob, 30 Августа 2017

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

    +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
    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
    void Assembler::divsd(XMMRegister dst, Address src) {
      NOT_LP64(assert(VM_Version::supports_sse2(), ""));
      InstructionMark im(this);
      simd_prefix(dst, dst, src, VEX_SIMD_F2);
      emit_byte(0x5E);
      emit_operand(dst, src);
    }
    
    void Assembler::divsd(XMMRegister dst, XMMRegister src) {
      NOT_LP64(assert(VM_Version::supports_sse2(), ""));
      int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F2);
      emit_byte(0x5E);
      emit_byte(0xC0 | encode);
    }
    
    void Assembler::divss(XMMRegister dst, Address src) {
      NOT_LP64(assert(VM_Version::supports_sse(), ""));
      InstructionMark im(this);
      simd_prefix(dst, dst, src, VEX_SIMD_F3);
      emit_byte(0x5E);
      emit_operand(dst, src);
    }
    
    void Assembler::divss(XMMRegister dst, XMMRegister src) {
      NOT_LP64(assert(VM_Version::supports_sse(), ""));
      int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F3);
      emit_byte(0x5E);
      emit_byte(0xC0 | encode);
    }
    
    void Assembler::emms() {
      NOT_LP64(assert(VM_Version::supports_mmx(), ""));
      emit_byte(0x0F);
      emit_byte(0x77);
    }
    
    void Assembler::hlt() {
      emit_byte(0xF4);
    }
    
    void Assembler::idivl(Register src) {
      int encode = prefix_and_encode(src->encoding());
      emit_byte(0xF7);
      emit_byte(0xF8 | encode);
    }

    https://github.com/openjdk-mirror/jdk7u-hotspot/blob/50bdefc3afe944ca74c3093e7448d6b889cd20d1/src/cpu/x86/vm/assembler_x86.cpp

    Вот эта вот вся ерунда отвечает в Hotspot JVM за генерацию опкодов (чтоб JIT делать). Вы возможно спросите "а где тут говно, j123123?".
    Отвечаю: говно тут на фундаментальном уровне. Такой хуйни по-хорошему вообще не надо писать. Надо формально описать вообще все ебучие опкоды жабового байткода, и все машинные инструкции процессора, которые могут быть порождены жабовым JIT-ом, и потом математически доказать эквивалентность всей этой трансформации какой-нибудь логикой Хоара, системами автоматического доказательства теорем, всякими там Coq, Isabelle и прочей такой сранью, о которой вероятно слышал roman-kashitsyn, раз он там хачкель и Idris с зависимыми типами задрачивал. Ну и CHayT.

    j123123, 29 Августа 2017

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

    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
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    namespace parse_main_config {
    
        struct _main_config_ {
            std::string m_sCurrentConfigFile;
            std::string m_sBaseFile;
            std::string m_sBasePrefix;
            std::string m_sCheckRuleFile;
            std::string m_sReplacementTablesFile;
            std::string m_sPasswdFile;
            std::string m_sTestsListFile;
            std::string m_sModesFile;
            std::string m_sIfacesFile;
            std::string m_sCmcCheckFile;
            std::string m_sUpsCheckFile;
            std::string m_sSetLocalIpFile;
            std::string m_sShortLogFile;
            std::string m_sFullLogFile;
            std::string m_sListLogFile;
    
    	int m_iNTPTime;
    	int m_iNTPOffset;
    	int m_iMonNumber;
            int m_iOSRebootTime;
            int m_iMonitorCount;
            QString m_sStationType;
            int m_iHddTimeout;
            std::string m_sWinIconFile;
            std::string m_sWinMenuOptFile;
            std::string m_sWinMenuCloseFile;
            std::string m_sWindowTitle;
    
            QString m_sServerIP;
            QString m_sServerNetMask;
            QString m_sServerNetIP;
            int m_iPort;
            int m_iTimeout;
    		// Remote work
            std::string m_sRemoteHost;
    		std::string m_sRemoteUser;
    		std::string m_sRemotePass;
    		std::string m_sRemoteFtpUser;
    		std::string m_sRemoteFtpPass;
    
            // defaults
            _main_config_() {
                m_sCurrentConfigFile    = "";
                m_sBaseFile             = "./base.cfg";
                m_sBasePrefix           = "Workstation";
                m_sCheckRuleFile        = "./check_rules.cfg";
                m_sModesFile            = "./view_modes.cfg";
                m_sIfacesFile           = "./ip.cfg";
                m_sReplacementTablesFile = "./replacement_tables.xml";
                m_sShortLogFile         = "./short.log";
                m_sFullLogFile          = "./full.log";
                m_sListLogFile          = "./list.log";
                m_sPasswdFile           = "./passwd";
    
                m_iNTPTime              = 0;
                m_iNTPOffset            = 0;
    
                m_sServerNetMask        = "255.255.255.0";
                m_sServerNetIP          = "1.1.1.1";
                m_sServerIP             = "127.0.0.1";
                m_iPort                 = 1;
                m_iTimeout              = 11;
                m_iMonNumber	    = 2;
    
                m_iOSRebootTime         = -1;
    
            std::string m_sRemoteHost = "127.0.0.1";
                    std::string m_sRemoteUser = "blablabla";
                    std::string m_sRemotePass = "blablabla";
    		std::string m_sRemoteFtpUser = "blablabla";
    		std::string m_sRemoteFtpPass = "";
            }
        };
    
        // parsing file
        int read_configuration(const std::string &, _main_config_ &);
    }

    Поддерживаю старый проект. Большой и настолько старый, что написан с использованием Qt3.
    Дело дошло до релиза.
    Соль в том, что я добавил в эту структуру поле с именем - m_sCurrentConfigFile (первое)
    При сборке debug конфигурации все норм, с release конфигурацией - приложение вылет при QMainWindow::show();
    Стоит закомментить это поле и все места, где оно юзается, естественно - как сука, все хорошо.
    Юзается в двух местах - и в обоих случаях к нему просто присваивается строка.
    На тот самый метод -- ну никак не должно влиять.
    Не подскажете, какая сегодня фаза луны?

    OlegUP, 29 Августа 2017

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

    −15

    1. 1
    github.com/mpak2/mpak.su/tree/master/include/mail

    В mpak завезли composer.json

    d_fomenok, 27 Августа 2017

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php if (!\MUserAuth::isAuthenticated()) : ?>
                <div id="wrapper-for-cabinet-content" style="display: none;"></div>
            {else}
                <div id="wrapper-for-cabinet-content">
                {include file="/themes/$__theme/en/common/muser_dropdown_part/cabinet.tpl"}
                </div>
            {/if}

    И это #работает#блять... "Smarty" нашего тимлида...

    rez1dent3, 25 Августа 2017

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

    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
    function db($class, $configName)
    {
        eval("class $class extends Database {
            public static function staticConstruct()
            {
                global \$fcConfig;
                \$db                  = \$fcConfig->get('db');
                static::\$host          = \$db->get('$configName.host');
                static::\$user_name     = \$db->get('$configName.username');
                static::\$user_pass     = \$db->get('$configName.password');
                static::\$database_name = \$db->get('$configName.dbname');
    
                static::connect();
            }
        }
        
        \$class::staticConstruct();");
    }
    
    db( 'DB', 'connection' );

    Нужно больше динамикиблять....

    rez1dent3, 25 Августа 2017

    Комментарии (0)
  10. SQL / Говнокод #23295

    0

    1. 1
    2. 2
    3. 3
    if length(varrstr(cellphoneidx) != 11) or regexp_instr(varrstr(cellphoneidx), '\d\d\d\d\d\d\d\d\d\d') = 0 then
      return 1;
    end if;

    Проверка на валидность номера телефона (с вкраплениями pl/sql):
    И так везде, где требуется проверка на определенное количество цифр (номер инн, док-ов и т.д.).
    Псц, товарищи.

    ChezterLP, 24 Августа 2017

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