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

    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
    internal void OnItemSaved(object sender, EventArgs args)
    {
    Sitecore.Diagnostics.Log.Error("OnItemSaved: Fired", new Exception());     
    var eventArgs = args as Sitecore.Events.SitecoreEventArgs;
    Sitecore.Diagnostics.Assert.IsNotNull(eventArgs, "eventArgs");
    
    if (eventArgs == null) return;
    
    var item = eventArgs.Parameters[0] as Sitecore.Data.Items.Item;
    var currItem = item;
    
    Sitecore.Diagnostics.Log.Error("OnItemSaved: " + item.Name, new Exception());     
    
    TaxonomyBaseItem i = item;
    
    if (currItem != null)
    {
        try
        {
            while (item != null && item.TemplateID.ToString() != TopicSectionFrontPageItem.TemplateId)
            {
                item = item.Parent;
            }
    
            if (item == null) return;
    
            Sitecore.Diagnostics.Log.Error("OnItemSaved: " + item.Name, new Exception());
            
            if (!i.TopicTaxonomy.ListItems.Contains(item))
            {
                Sitecore.Diagnostics.Log.Error("OnItemSaved: Doesn't contain it", new Exception());     
    
                Sitecore.Data.Fields.MultilistField mfield = currItem.Fields["Topic Taxonomy"];
                if (!mfield.Contains(item.ID.ToString()))
                {
                    using (new Sitecore.SecurityModel.SecurityDisabler())
                    {
                        currItem.Editing.BeginEdit();
                        if (currItem.Fields["Topic Taxonomy"].Value == string.Empty)
                        {
                            currItem.Fields["Topic Taxonomy"].Value += item.ID.ToString();
                        }
                        else
                        {
                            currItem.Fields["Topic Taxonomy"].Value += "|" + item.ID.ToString();
                        }
                        Sitecore.Diagnostics.Log.Error("OnItemSaved: " + currItem.Fields["Topic Taxonomy"].Value, new Exception());     
    
                        currItem.Editing.EndEdit();
                    }
                }
            }    
        }
        catch (Exception ex)
        {
            Sitecore.Diagnostics.Log.Error("OnItemSaved: " + ex.Message, new Exception());        
        }        
    }

    Когда ты хочешь чтобы твои логи были заметны: Sitecore.Diagnostics.Log.Error("OnItemSa ved: " + item.Name, new Exception());
    И когда никому не хочешь рассказывать об эксепшенах:
    catch (Exception ex)
    {
    Sitecore.Diagnostics.Log.Error("OnItemSa ved: " + ex.Message, new Exception());
    }

    VolAnder, 25 Сентября 2019

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

    −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
    class Label : System.Windows.Forms.Label {
            public Label ( string s , int x , int y , Form parent ) {
                this.Location = new Point ( x , y ) ;
                this.Text = s ;
                this.AutoSize = true ;
                this.Font = new Font ( SystemFonts.CaptionFont , FontStyle.Bold ) ;
                parent.Controls.Add ( this ) ;
            }
        }
        class Button : System.Windows.Forms.Button {
            public Button ( string s , int x , int y ,  EventHandler f , Form parent ) {
                this.Location = new Point ( x , y ) ;
                this.Text = s ;
                this.Font = new Font ( SystemFonts.CaptionFont , FontStyle.Bold ) ;
                this.Click += f ;
                parent.Controls.Add ( this ) ;
            }
        }
    
        static Form form = new Form() ;
        static Button[,] a = new Button [ 4 , 4 ] ;
        static Random rnd = new Random() ;
        static Timer timer = new Timer() ;
        static Label time = new Label ( "0" , width + cellspacing * 3 , 4 * ( width + cellspacing ) + cellspacing * 2 , form ) ;
        static Label nclicks = new Label ( "0" , 3 * width + cellspacing * 5 , 4 * ( width + cellspacing ) + cellspacing * 2 , form ) ;

    Нашел архив своего старого говна :)

    Pretty_Young_Thing, 03 Сентября 2019

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    public class clsActMarriage
    {
       ...
    }

    Трудности перевода из серии "Ясные печеньки".

    Как вам название сущности? Буквально "Акт женитьбы".
    Оглянулся на 300+ строк вокруг и понял что это на самом деле "Акт брака" в контексте товара.
    Класс занимается созданием и наполнением документа о наличии брака по утвержденной форме.

    Ну кто так называет? Откуда это: лень, глупость или неграмотность? Как это пропустили на ревью?
    Почему не "FlawReport" не "DefectBulletin" или
    на худой конец "DocumentOfUnquality" если по инглишу в школе неуд был.
    Кто-то в прошлом сэкономил 1 минуту, а в настоящем это обернулось потерей 20 минут на раскуривание.
    Плохие имена переменных которые нельзя изменить - боль кровавого энтерпрайза.

    Ух, пичот! (╯°□°)╯︵┻━┻

    Gilbert, 23 Августа 2019

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

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public class class inheritance mein (kampf) {
        int **her_na_polke = cidiez_alloc(sizeof(int) * SIZE);
    
        // suka blyat ebany ci diez
    
        ...
    
        // here is garbage collector, so... nothing do
    }

    _________

    Ksyrx, 29 Июля 2019

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

    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
    /// <summary>
    /// Sql-ограничение на конструкцию in: 2160 параметров в одном запросе
    /// </summary>
    /// <param name="queries">queries</param>
    /// <returns></returns>
    private async IQueryable<Department> GetDataRecursiveByQuery(params string[] queries)
    {
        if (queries.Any())
        {
            var filterQueries = queries.ToList().Take(2160);
            var departments = await FilterDepatments(filterQueries.ToArray());
            var nextFilterQueries = queries.Except(filterQueries);
    
            return departments.AddRange(GetDataRecursiveByQuery());
        }
    }

    zhekovfi, 24 Июля 2019

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

    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
    /* Infinite loop */
      /* USER CODE BEGIN WHILE */
      while (1)
      {
        Master_Slave_Check();
        if (CtrlBrd_Mode == 1) //MasterMode
        {
          SSPC_Check_Proc();      
          Read_ADC();
          Logic();
          RS_Enable();
          Obmen_RS();
          //CAN_Enable();
          //Obmen_CAN();
          
          //if (SoftFlag.Flag1.bit.History_Wr_Req)
          //{
          //  SoftFlag.Flag1.bit.History_Wr_Req = 0;
          //  Write_History();
          //}
          
          HAL_IWDG_Refresh(&hiwdg);	//Dog reset
          
          Migalka();    //Working LED blink
        }
        else if (CtrlBrd_Mode == 0) //SlaveMode
        {
          Slave_DeInit();
          while(1)
          {
            Master_Slave_Check();
            if (CtrlBrd_Mode == 1)    //если плата снова стала мастером, когда сдох основной мастер,
              HW_RESET();             //делаем аппаратный сброс для перезапуска (нога выставляется в 1, отпирает транзюк VT9, который садит на землю вход управления тракой)
            HAL_IWDG_Refresh(&hiwdg);	//Dog reset
            Migalka();
          }
        }
      }
      /* USER CODE END WHILE */
    }

    Так реализовал параллельную работу двух одинаковых плат управления, одна из которых висит в режиме ожидания.

    ykypeHHbIu_nemyx, 10 Июля 2019

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

    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
    void Obmen_RS1(void)
    {
      uint8_t txbuf[7], rxbuf[43], CheckSum;
      //если сформирован запрос на чтение по RS1 - SSPC data
      if (SoftFlag.RS_Flag3.bit.RS1_Read_Req)
      {
        txbuf[0] = 0x7B; //{
        txbuf[1] = SSPC_Addr_RS[RS1_Counter];
        txbuf[2] = 0x00; //d0, b00000000 - команда для формирования и отправки посылки данных от SSPC
        txbuf[3] = 0x00;
        txbuf[4] = 0x00;
        txbuf[5] = txbuf[1];//(txbuf[1] ^ txbuf[2] ^ txbuf[3] ^ txbuf[4]); //xor [1..4]
        txbuf[6] = 0x7D; //}
        HAL_UART_Transmit(&huart1, (uint8_t *)&txbuf, 7, 1);
        //HAL_Delay(1)
        if (HAL_UART_Receive(&huart1, (uint8_t *)&rxbuf, 43, 9) == HAL_OK)
        { //если пришел правильный пакет
          if ((rxbuf[0] == 0x5B) 
           && (rxbuf[40] == SSPC_Addr_RS[RS1_Counter])
           && (rxbuf[42] == 0x5D))
          { //считаем КС
            for (j = 1; j < 41; j++)
              CheckSum ^= rxbuf[j];
            if (CheckSum == rxbuf[41])  //Если КС совпадает
            {
              for (j = 1; j < 41; j++)  //Сохраняем пакет в двумерный буфер
                RS1_Paket[RS1_Counter][j] = rxbuf[j];
            }
            else 
            {
              for (j = 1; j < 41; j++)
                RS1_Paket[RS1_Counter][j] = 0;  //Иначе пишем нули
            }
          }
        }
        RS1_Counter++;
        if (RS1_Counter > 15) 
          RS1_Counter = 0;
        SoftFlag.RS_Flag3.bit.RS1_Read_Req = 0; //сбрасываем флаг запроса чтения данных и ждем следующего по таймеру (100мс)
      }
    }

    Процедура чтения данных от 16 модулей управления нагрузками по RS-485...
    для STM32F4x с использованием калокуба

    ykypeHHbIu_nemyx, 10 Июля 2019

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

    +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
    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
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    void Start () {
    
            carRight1 = GameObject.Find("CarRight1");
            carRight2 = GameObject.Find("CarRight2");
            carRight3 = GameObject.Find("CarRight3");
            carRight4 = GameObject.Find("CarRight4");
            carRight5 = GameObject.Find("CarRight5");
            carRight6 = GameObject.Find("CarRight6");
            carRight7 = GameObject.Find("CarRight7");
            carRight8 = GameObject.Find("CarRight8");
            carRight9 = GameObject.Find("CarRight9");
            carRight10 = GameObject.Find("CarRight10");
            carRight11 = GameObject.Find("CarRight11");
            carRight12 = GameObject.Find("CarRight12");
            carRight13 = GameObject.Find("CarRight13");
            carRight14 = GameObject.Find("CarRight14");
            carRight15 = GameObject.Find("CarRight15");
            carRight16 = GameObject.Find("CarRight16");
            carRight17 = GameObject.Find("CarRight17");
    
            carLeft1 = GameObject.Find("CarLeft1");
            carLeft2 = GameObject.Find("CarLeft2");
            carLeft3 = GameObject.Find("CarLeft3");
            carLeft4 = GameObject.Find("CarLeft4");
            carLeft5 = GameObject.Find("CarLeft5");
            carLeft6 = GameObject.Find("CarLeft6");
            carLeft7 = GameObject.Find("CarLeft7");
            carLeft8 = GameObject.Find("CarLeft8");
            carLeft9 = GameObject.Find("CarLeft9");
            carLeft10 = GameObject.Find("CarLeft10");
            carLeft11 = GameObject.Find("CarLeft11");
            carLeft12 = GameObject.Find("CarLeft12");
            carLeft13 = GameObject.Find("CarLeft13");
            carLeft14 = GameObject.Find("CarLeft14");
            carLeft15 = GameObject.Find("CarLeft15");
            carLeft16 = GameObject.Find("CarLeft16");
            carLeft17 = GameObject.Find("CarLeft17");
            carLeft18 = GameObject.Find("CarLeft18");
            carLeft19 = GameObject.Find("CarLeft19");
            carLeft20 = GameObject.Find("CarLeft20");
            carLeft21 = GameObject.Find("CarLeft21");
            carLeft22 = GameObject.Find("CarLeft22");
    
            speed = 15f;
            //gameObject.transform.localScale = new Vector3(0, 0, 0);
        }
    	
    	// Update is called once per frame
    	void Update () {
    		
            carRight1.GetComponent<Rigidbody>().velocity = carRight1.transform.forward * speed;
            carRight2.GetComponent<Rigidbody>().velocity = carRight2.transform.forward * speed;
            carRight3.GetComponent<Rigidbody>().velocity = carRight3.transform.forward * speed;
            carRight4.GetComponent<Rigidbody>().velocity = carRight4.transform.forward * speed;
            carRight5.GetComponent<Rigidbody>().velocity = carRight5.transform.forward * speed;
            carRight6.GetComponent<Rigidbody>().velocity = carRight6.transform.forward * speed;
            carRight7.GetComponent<Rigidbody>().velocity = carRight7.transform.forward * speed;
            carRight8.GetComponent<Rigidbody>().velocity = carRight8.transform.forward * speed;
            carRight9.GetComponent<Rigidbody>().velocity = carRight9.transform.forward * speed;
            carRight10.GetComponent<Rigidbody>().velocity = carRight10.transform.forward * speed;
            carRight11.GetComponent<Rigidbody>().velocity = carRight11.transform.forward * speed;
            carRight12.GetComponent<Rigidbody>().velocity = carRight12.transform.forward * speed;
            carRight13.GetComponent<Rigidbody>().velocity = carRight13.transform.forward * speed;
            carRight14.GetComponent<Rigidbody>().velocity = carRight14.transform.forward * speed;
            carRight15.GetComponent<Rigidbody>().velocity = carRight15.transform.forward * speed;
            carRight16.GetComponent<Rigidbody>().velocity = carRight16.transform.forward * speed;
            carRight17.GetComponent<Rigidbody>().velocity = carRight17.transform.forward * speed;
    
            carLeft1.GetComponent<Rigidbody>().velocity = carLeft1.transform.forward * speed;
            carLeft2.GetComponent<Rigidbody>().velocity = carLeft2.transform.forward * speed;
            carLeft3.GetComponent<Rigidbody>().velocity = carLeft3.transform.forward * speed;
            carLeft4.GetComponent<Rigidbody>().velocity = carLeft4.transform.forward * speed;
            carLeft5.GetComponent<Rigidbody>().velocity = carLeft5.transform.forward * speed;
            carLeft6.GetComponent<Rigidbody>().velocity = carLeft6.transform.forward * speed;
            carLeft7.GetComponent<Rigidbody>().velocity = carLeft7.transform.forward * speed;
            carLeft8.GetComponent<Rigidbody>().velocity = carLeft8.transform.forward * speed;
            carLeft9.GetComponent<Rigidbody>().velocity = carLeft9.transform.forward * speed;
            carLeft10.GetComponent<Rigidbody>().velocity = carLeft10.transform.forward * speed;
            carLeft11.GetComponent<Rigidbody>().velocity = carLeft11.transform.forward * speed;
            carLeft12.GetComponent<Rigidbody>().velocity = carLeft12.transform.forward * speed;
            carLeft13.GetComponent<Rigidbody>().velocity = carLeft13.transform.forward * speed;
            carLeft14.GetComponent<Rigidbody>().velocity = carLeft14.transform.forward * speed;
            carLeft15.GetComponent<Rigidbody>().velocity = carLeft15.transform.forward * speed;
            carLeft16.GetComponent<Rigidbody>().velocity = carLeft16.transform.forward * speed;
            carLeft17.GetComponent<Rigidbody>().velocity = carLeft17.transform.forward * speed;
            carLeft18.GetComponent<Rigidbody>().velocity = carLeft18.transform.forward * speed;
            carLeft19.GetComponent<Rigidbody>().velocity = carLeft19.transform.forward * speed;
            carLeft20.GetComponent<Rigidbody>().velocity = carLeft20.transform.forward * speed;
            carLeft21.GetComponent<Rigidbody>().velocity = carLeft21.transform.forward * speed;
            carLeft22.GetComponent<Rigidbody>().velocity = carLeft22.transform.forward * speed;
    
        }

    Обнаружил на ПК у "коллеги" по цеху. AI для машинок... (Сами переменные не влезли, но легко понять как они заданы.)

    Morseliot, 29 Июня 2019

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

    +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
    private async Task CountResultAsync(IProgress<bool> progress)
    {
         object sync = new object();
    
        await Task.Run(() => Parallel.For(0, _dataList.Count, i =>
        {
            lock (sync)
            {
                 var index = _dataList.FindIndex(m => m.FullPath.Equals(_dataList[i].FullPath));
    
                _dataList[index] = new GridModel()
                {
                    FullPath = _dataList[i].FullPath,
                    Name = _dataList[i].Name,
                    Checksum = GetFileChecksum(_dataList[i].FullPath),
                    IsCompleted = true
                };
           }
        }));
    }

    Когда кто-то пытается написать параллельный код, но что-то идет не так.

    ShockWorker, 13 Июня 2019

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    var type = shape switch
    {
      Rectangle((0, 0), 0, 0) => "Point at origin",
      Circle((0, 0), _) => "Circle at origin",
      Rectangle(_, var w, var h) when w == h => "Square",
      Rectangle((var x, var y), var w, var h) =>
        $"A {w}×{h} rectangle at ({x},{y})",
      _ => "something else"
    };

    https://habr.com/ru/post/454446/#comment_20232586

    Какой бароп )))

    OCETuHCKuu_nemyx, 02 Июня 2019

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