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

    −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
    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
    [HttpPost]
            [Route("api/Pateikimai/SaveList")]
            public OperacijosRezultatas SaveList(List<PateikimasEditItem> models)
            {
                var atsakymas = new OperacijosRezultatas();
                int failCounter = 0;
                foreach (var model in models) {
                    try {
                        PateikimaiBll.SaveOrUpdate(model);
                    }
                    catch (Exception ex) {
                        failCounter++;
                    }
                }
                if (failCounter > 0)
                {
                    atsakymas.SekmingaOperacija = false;
                    atsakymas.PridetiKlaida("Ne visi įrašai buvo išsaugoti");
                }
                else {
                    atsakymas.PridetiSekme("Pateikimų įrašas sėkmingai išsaugotas");
                }
                
    
                return atsakymas;
            }

    Смесь литовского с английским. Try/catch, который не записывает в лог и юзается для того, чтобы в front-end'e не запариватся с масивами (повторяющееся элементы). Уже не говорю об отсутсвии транзакций и foreach'e в контроллере.

    kontora, 02 Марта 2016

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

    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
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    #if !defined LOG_PRINT_FNAME && !defined LOG_PRINT_LVL && \
        !defined LOG_PRINT_DATE  && !defined LOG_PRINT_TIME && \
        !defined LOG_TIME_FMT   &&  !defined LOG_DATETIME_SEP && \
        !defined LOG_PRINT_TIMER && !defined LOG_VERB
    #warning No logging options specified, default config will be used
    #endif
     
    // Initialize unitialized values
    #ifndef LOG_PRINT_FNAME
        #define LOG_PRINT_FNAME true
    #endif
    #ifndef LOG_PRINT_LVL
        #define LOG_PRINT_LVL false
    #endif
    #ifndef LOG_PRINT_DATE
        #define LOG_PRINT_DATE false
    #endif
    #ifndef LOG_PRINT_TIME
        #define LOG_PRINT_TIME false
    #endif
    #ifndef LOG_DATE_FMT
        #define LOG_DATE_FMT "%D"
    #endif
    #ifndef LOG_TIME_FMT
        #define LOG_TIME_FMT "%T"
    #endif
    #ifndef LOG_DATETIME_SEP
        #define LOG_DATETIME_SEP ""
    #endif
    #ifndef LOG_PRINT_TIMER
        #define LOG_PRINT_TIMER true
    #endif
    #ifndef LOG_VERB
        #define LOG_VERB 1
    #endif
     
     
    #if LOG_PRINT_TIMER == true && (LOG_PRINT_DATE == true || LOG_PRINT_TIME == true)
    #warning Printing timer and datetime both is not possible, datetime will be discarded
    #define LOG_PRINT_DATE false
    #define LOG_PRINT_TIME false
    #endif
     
    enum LogLevel_t {
        INFO     = 3,
        WARNING  = 2,
        ERROR    = 0,
        TRACE    = 7
    };
     
    #define TIMER
    #define DATE
    #define TIME
    #define SEPARATOR
    #define FNAME
    #define LVL(lvl)
     
    #define STREAM(lvl) \
        ((lvl) == TRACE || (lvl) == ERROR) ? std::cerr : std::cout
     
    #if LOG_PRINT_TIMER == true
    #define TIMER << "[" << std::fixed << Log::getTimer() << "] "
    #endif
     
    #if LOG_PRINT_DATE == true
    #define DATE << Log::getTimeFmt(LOG_DATE_FMT) << " "
    #endif
     
    #if LOG_PRINT_TIME == true
    #define TIME << Log::getTimeFmt(LOG_TIME_FMT) << " "
    #endif
     
    #if LOG_PRINT_DATE == true && LOG_PRINT_TIME == true
    #define SEPARATOR << LOG_DATETIME_SEP
    #endif
     
    #if LOG_PRINT_FNAME == true
    #define FNAME << __FUNCTION__ << ": "
    #endif
     
    #if LOG_PRINT_LVL == true
    #define LVL(lvl) << #lvl << ": "
    #endif
     
    #define LOG(lvl) \
        std::cout.precision(5); \
        STREAM(lvl) TIMER DATE SEPARATOR TIME LVL(lvl) FNAME

    xxx: Бля, я написал какое-то говно
    yyy: Я видел некоторое дерьмо
    xxx: Пиздец просто
    zzz: Действительно говно.
    xxx: Я не знаю даже нахуя я это делал
    xxx: Почему-то, когда начинал, мне не пришло в голову, что логгирование на макросах, конфигурируемое в компилтайме — это пиздец

    CYB3R, 02 Марта 2016

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

    −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
    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
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
    if(Checksquare()){
                  Cut(_point(x, y), true);
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }

    Здесь уместно вспомнить пословицу "Семь раз отмерь,(в данном случае 32 раза) один раз отрежь"

    sliper, 01 Марта 2016

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

    +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
    std::string sql = "INSERT INTO digest_test_record (set_id, ref_digest, cand_digest, vdt_cfg_warn, digest_cfg_warn, "
        "ref_duration, ref_cardinality, ref_dispersion, "
        "cand_duration, cand_cardinality, cand_dispersion, "
        "cardinality, difference, red_difference, ext_difference, "
        "inv_cardinality, inv_difference, inv_red_difference, inv_ext_difference,
        "timing, lib_version) SELECT 0, "
        "ROW($1, $2, $3, $4, $5, $6, $7, $8)::digest_info, "
        "ROW($9, $10, $11, $12, $13, $14, $15, $16)::digest_info,"
        "$17, $18, ",
        "$19, $20, $21, "
        "$22, $23, $24, "
        "$25, $26, $27, $28, "
        "$29, $30, $31, $32, "
        "$33, ROW($34, $35, $36, make_date($37, $38, $39), $40)::lib_version_info";
    
        cn.prepare("insert", sql);
    
        xact.prepared("insert")
        (ref_digest_info.src_width)(ref_digest_info.src_height)(ref_digest_info.src_fps)(ref_digest_info.src_duration)
            (ref_digest_info.vdt_duration)(ref_digest_info.cardinality)(ref_digest_info.has_flags)(ref_digest_info.src_filename)
        (cand_digest_info.src_width)(cand_digest_info.src_height)(cand_digest_info.src_fps)(cand_digest_info.src_duration)
            (cand_digest_info.vdt_duration)(cand_digest_info.cardinality)(cand_digest_info.has_flags)(cand_digest_info.src_filename)
        (results.vdt_cfg_warn)(results.digest_cfg_warn)
        (results.ref_duration)(results.ref_cardinality)(results.ref_dispersion)
        (results.cand_duration)(results.cand_cardinality)(results.cand_dispersion)
        (results.cardinality)(results.difference)(results.red_difference)(results.ext_difference)
        (results.inv_cardinality)(results.inv_difference)(results.inv_red_difference)(results.inv_ext_difference)
        ((double)timing / CLOCKS_PER_SEC)(li.main_ver)(li.sub_ver)(li.revision)(li.year)(li.month)(li.day)(li.platform).exec();

    Мои глаза.... Яркий пример использования нативного pqxx

    leon_mz, 01 Марта 2016

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

    −97

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    tmpDt = ДобавитьМесяц(СсылкаНаОбъект.Дата, -3);
    Если Месяц(СсылкаНаОбъект.Дата)<4 Тогда
    	txt = "Д.в. "+Месяц(tmpDt)+"/"+Год(tmpDt)+"-"+ "0"+Месяц(СсылкаНаОбъект.Дата)+"/"+Формат(Год(СсылкаНаОбъект.Дата),"ЧГ=0");
    Иначе
    	Если Месяц(СсылкаНаОбъект.Дата)<10 Тогда
    		txt="Д.в. "+"0"+Месяц(tmpDt)+"-"+"0"+Месяц(СсылкаНаОбъект.Дата)+"/"+Формат(Год(СсылкаНаОбъект.Дата),"ЧГ=0");
    	Иначе    
    		txt="Д.в. "+"0"+Месяц(tmpDt)+"-"+Месяц(СсылкаНаОбъект.Дата)+"/"+Формат(Год(СсылкаНаОбъект.Дата),"ЧГ=0");
    	КонецЕсли;
    КонецЕсли;

    Неумение пользоваться форматной строкой приводит к перлам наподобие "если месяц меньше 10, то добавить к месяцу нолик слева".
    Это не считая разборки в числа и сборки назад в строку.

    WildSery, 01 Марта 2016

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

    −3

    1. 1
    2. 2
    3. 3
    >ipconfig   | find "IP"
    ═рёЄЁющър яЁюЄюъюыр IP фы  Windows
            IP-рфЁхё  . . . . . . . . . . . . : 192.168.1.60

    ЧЗХ (кодировка)?

    3_14dar, 01 Марта 2016

    Комментарии (58)
  7. C# / Говнокод #19551

    −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
    _sock = new Socket(SocketType.Stream, ProtocolType.Tcp);
    var saea = new SocketAsyncEventArgs {RemoteEndPoint = new IPEndPoint(0x0100007f, 1338)};
    var mre = new ManualResetEventSlim(false);
    saea.Completed += (o, e2) => mre.Set();
    _sock.ConnectAsync(saea);
    mre.Wait();
    mre.Reset();
    var idBuf = new byte[8];
    var idSeg = new ArraySegment<byte>(idBuf);
    saea = new SocketAsyncEventArgs { BufferList = new[] { idSeg } };
    saea.Completed += (o, e2) => mre.Set();
    _sock.ReceiveAsync(saea);
    mre.Wait();
    Task.Run((Action) ReceivingLoop);
    mre.Dispose();

    Блядские сокеты в UWP. Майки лучше не смогли ничего придумать, как добавлять в язык с нормальной асинхронностью сокеты на КОЛЛБЕКАХ блять. В 2016. Коллбеки. Да они там ебанулись к хуям

    cykablyad, 01 Марта 2016

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // Итальянский код
    
    if (...) {
       ...
    } else {
       ...
    } elsinio {
       ...
    }

    3_dar, 29 Февраля 2016

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

    +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
    13. 13
    boost_include_path_list = \
        "/usr/local/include/" \
        "/usr/local/boost_1_57_0/" \
        "C:\\boost_1_59_0\\" \
        "C:\\Program Files (x86)\\boost_1_57_0\\"
    
    for(path, boost_include_path_list) {
        exists($$path) {
            boost_include_path = $$path
        }
    }
    
    INCLUDEPATH += $$boost_include_path

    qmake, кроссплатформенность

    Xom94ok, 29 Февраля 2016

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

    +6

    1. 1
    2. 2
    3. 3
    4. 4
    public string GetRegion(CallContext context)
    {
          return "Регион";
    }

    hinduCoder, 29 Февраля 2016

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