- 1
- 2
var listModuleId = dbContext.MODULES.Where(n => n.IFDELETE == 0 && n.DEVICETYPE == 1).Select(m => m.IDMODULE).ToList();
var ListMeasure = dbContext.MEASURE.Where(n => listModuleId.Contains(n.IDMODULES)).GroupBy(m => m.IDMODULES).ToList();
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+3
var listModuleId = dbContext.MODULES.Where(n => n.IFDELETE == 0 && n.DEVICETYPE == 1).Select(m => m.IDMODULE).ToList();
var ListMeasure = dbContext.MEASURE.Where(n => listModuleId.Contains(n.IDMODULES)).GroupBy(m => m.IDMODULES).ToList();
Если в MODULES несколько сотен датчиков, то вторая строка разворачивается в sql-запрос на 22 килобайта, а если в MEASURE 13 тысяч записей, то этот запрос выполняется полторы минуты.
Молчу уже о том, что listModuleId нигде, кроме второй строки, не используется.
0
static void Main(string[] args)
{
try
{
watcher.Path = TargetPath;
watcher.Created += Watcher_Created;
watcher.Renamed += Watcher_Created;
watcher.EnableRaisingEvents = true;
logger.Info("Сервис запущен.");
System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
}
catch(Exception ex)
{
logger.Error(ex, "Global error", null);
Main(null);
}
}
−1
private static async Task<DataTable> GetWaitingBetsHandlingHistory(int customerID, int betID, DateTime date)
{
// copied from: CBets.GetWaitingBetsHandlingHistory
string connectionString = AppConfig.MachineAppSettings("connectionString");
SqlConnection conn = new SqlConnection(connectionString);
...
Copy-paste-driven development confession
+7
private bool trap = false;
public bool TrapExceptions
{
get { return this.trap; }
set { this.trap = true; }
}
Выхода нет.
+3
using System;
using System.Threading.Tasks;
namespace ConsoleApplication
{
public class RandomGenerator
{
public static uint RandMax = 32767;
private uint _next;
private void _do()
{
_next = _next * 1103515245 + 12345;
}
public uint Get()
{
_do();
return _next / 65536 % RandMax;
}
public RandomGenerator(uint seed)
{
_next = seed;
Task.Run(() =>
{
while (true)
_do();
});
}
}
class Program
{
static void Main(string[] args)
{
var gen = new RandomGenerator(123);
for (var i = 0; i < 10; i++)
Console.WriteLine(gen.Get());
}
}
}
По мотивам http://govnokod.ru/19589 пришла идея.
Линейный конгруэнтный генератор с бесконечным периодом
+4
private static void Main(string[] args)
{
var c1 = 1; var c2 = 0;
Task.Run(() =>
{
var f = new Func<int, int, int, int>((p, q, w) =>
{
Console.WriteLine(p + " " + q + " " + w);
Thread.Sleep(p);
Console.Beep(q + 264, w);
return 1;
});
int bi, a1, a2, a3;
bi = 33554432;
while (true)
bi = (int) Math.Pow(2, 24 - c2) + (a1 = 125) - a1 +
(a2 = (67075013 & bi) == bi
? ((63945802 & bi) == bi
? ((57539367 & bi) == bi ? 0 : 33)
: ((57539367 & bi) == bi ? 88 : 66))
: ((63945802 & bi) == bi ? ((57539367 & bi) == bi ? 132 : 176) : 202)) - a2 -
(a3 = c1%288 != 0
? (c1 *= 2) - c1 +
(c1%64 == 0
? 1000 + (c1 /= 64) - c1 + (c1 *= 3) - c1
: c1%8 == 0 ? 500 : (a1 = 250) - 125)
: (c1%125 == 0 ? 1001 - (c1 /= 36000) : c1%25 == 0 ? 500 : c1%5 == 0 ? 125 : 250) +
(c1 *= 5) - c1) + a3*f(a1, a2, a3) + ++c2 - c2 + (c2 %= 26) - c2 +
(c1 = c1 == 160 ? 1 : c1) - c1;
});
Console.ReadKey();
}
Вот так.
0
int k = 1000 - 1000 / 7 *7;
Процент? Что такое процент?
+1
public EntityTypes GetEntityType(DBContext Entities, int EntityTypeID)
{
DateTime? Null = null;
var entityType = (from entitytypes in Entities.EntityTypes.Include("GlobalText").Include("GlobalText.GlobalTextInstance")
where entitytypes.EntityTypeId.Equals(EntityTypeID)
&& (Null == null ? entitytypes.ActiveUntil == null : entitytypes.ActiveUntil == Null)
select entitytypes).FirstOrDefault();
return entityType;
}
Помимо самой первозданной красоты этого куска, он, собственно, еще и продублирован в местах, эдак 12-15
−8
if (table[0] == 1 && table[1] == 1 && table[2] == 1 ||
table[0] == 2 && table[1] == 2 && table[2] == 2 ||
table[3] == 1 && table[4] == 1 && table[5] == 1 ||
table[3] == 2 && table[4] == 2 && table[5] == 2 ||
table[6] == 1 && table[7] == 1 && table[8] == 1 ||
table[6] == 2 && table[7] == 2 && table[8] == 2 ||
table[0] == 1 && table[4] == 1 && table[8] == 1 ||
table[0] == 2 && table[4] == 2 && table[8] == 2 ||
table[2] == 1 && table[4] == 1 && table[6] == 1 ||
table[2] == 2 && table[4] == 2 && table[6] == 2 ||
table[0] == 1 && table[3] == 1 && table[6] == 1 ||
table[0] == 2 && table[3] == 2 && table[6] == 2 ||
table[1] == 1 && table[4] == 1 && table[7] == 1 ||
table[1] == 2 && table[4] == 2 && table[7] == 2 ||
table[2] == 1 && table[5] == 1 && table[8] == 1 ||
table[2] == 2 && table[5] == 2 && table[8] == 2)
Боже, Крис! Они же ещё дети.
+2
bool compareArrays(int[] a,int[] b)
{
if(a.Length != b.Length)
return false;
for(int i = 0;i<a.Length;i++)
if(a[i] != b[i])
return false;
return true;
}
Нобелевская премия по программированию