- 1
public int HowManyHoursWillGoBackForConvertingUkToUtc(DateTime ukTime) => IsAlreadyGoForward(ukTime) ? 1 : 0;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
public int HowManyHoursWillGoBackForConvertingUkToUtc(DateTime ukTime) => IsAlreadyGoForward(ukTime) ? 1 : 0;
когда название говорит само за себя
0
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());
}
−1
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 ) ;
Нашел архив своего старого говна :)
+5
public class clsActMarriage
{
...
}
Трудности перевода из серии "Ясные печеньки".
Как вам название сущности? Буквально "Акт женитьбы".
Оглянулся на 300+ строк вокруг и понял что это на самом деле "Акт брака" в контексте товара.
Класс занимается созданием и наполнением документа о наличии брака по утвержденной форме.
Ну кто так называет? Откуда это: лень, глупость или неграмотность? Как это пропустили на ревью?
Почему не "FlawReport" не "DefectBulletin" или
на худой конец "DocumentOfUnquality" если по инглишу в школе неуд был.
Кто-то в прошлом сэкономил 1 минуту, а в настоящем это обернулось потерей 20 минут на раскуривание.
Плохие имена переменных которые нельзя изменить - боль кровавого энтерпрайза.
Ух, пичот! (╯°□°)╯︵┻━┻
−2
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
}
_________
0
/// <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());
}
}
0
/* 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 */
}
Так реализовал параллельную работу двух одинаковых плат управления, одна из которых висит в режиме ожидания.
0
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 с использованием калокуба
+1
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 для машинок... (Сами переменные не влезли, но легко понять как они заданы.)
+4
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
};
}
}));
}
Когда кто-то пытается написать параллельный код, но что-то идет не так.