- 1
- 2
- 3
- 4
- 5
- 6
- 7
public static class ColorExtension
{
public static bool IsDarkColor(this Color color)
{
return (color.R & 255) + (color.G & 255) + (color.B & 255) < 3*256/2;
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+95
public static class ColorExtension
{
public static bool IsDarkColor(this Color color)
{
return (color.R & 255) + (color.G & 255) + (color.B & 255) < 3*256/2;
}
}
x & 255 = ?, где x типа byte
+95
double[,] ThreadMatrixMult(int size, double[,] m1, double[,] m2)
{
double[,] result = new double[size, size];
var threads = new List<Thread>(size);
for (int i = 0; i < size; i++)
{
var t = new Thread( ti =>
{
int ii = (int)ti;
for (int j = 0; j < size; j++)
{
result[ii, j] = 0;
for (int k = 0; k < size; k++)
{
result[ii, j] += m1[ii, k] * m2[k, j];
}
}
});
threads.Add(t);
t.Start(i);
}
foreach (Thread thread in threads)
thread.Join();
return result;
}
+96
protected override void OnSourceInitialized(EventArgs e)
{
base.OnSourceInitialized(e);
var hWndSource = (HwndSource)PresentationSource.FromVisual(this);
Handle = hWndSource.Handle;
hWndSource.AddHook(WndProc);
}
private const int WM_ACTIVATE = 0x0006;
private const ushort WA_INACTIVE = 0;
static ushort LOWORD(IntPtr I)
{
unchecked
{
return (ushort)(((uint)I) & 0xFFFF);
}
}
protected IntPtr WndProc(IntPtr hWnd, int iMsg, IntPtr wParam, IntPtr lParam, ref bool bHandled)
{
switch (iMsg)
{
case WM_ACTIVATE:
Opacity = LOWORD(wParam) == WA_INACTIVE ? 0.4 : 1.0;
bHandled = true;
return (IntPtr)1;
}
return IntPtr.Zero;
}
Из моего проекта. Так я писал код 0.8 год назад.
Вместо того, чтобы использовать OnActivated и OnDeactivated.
+91
private static int NumberOfLeadingSpaces(string str)
{
str = str.TrimEnd();
return str.Length - str.Trim().Length;
}
Из моего проекта. Так я писал код 1.5 год назад.
Вместо того, чтобы пройтись циклом с начала строки, пока не встретиться символ, не являющийся пробелом.
+135
public static string ExeDirectory
{
get
{
var strBuff1 = System.Windows.Forms.Application.ExecutablePath;
var strBuff2 = Path.GetFileName(strBuff1);
return strBuff1.Remove(strBuff1.Length - strBuff2.Length, strBuff2.Length);
}
}
Из моего проекта. Так я писал код 1.5 год назад.
+133
var hContextMenu = (ContextMenu)MainDataGrid.Resources["CellContextMenu"];
//UndoMenuItem.CommandTarget = MainDataGrid;
UndoMenuItem.Command = ((MenuItem)hContextMenu.Items[0]).Command; //Undo
//RedoMenuItem.CommandTarget = MainDataGrid;
RedoMenuItem.Command = ((MenuItem)hContextMenu.Items[1]).Command; //Redo
//CutMenuItem.CommandTarget = MainDataGrid;
CutMenuItem.Command = ((MenuItem)hContextMenu.Items[3]).Command; //Cut
//CopyMenuItem.CommandTarget = MainDataGrid;
CopyMenuItem.Command = ((MenuItem)hContextMenu.Items[4]).Command; //Copy
//PasteMenuItem.CommandTarget = MainDataGrid;
PasteMenuItem.Command = ((MenuItem)hContextMenu.Items[5]).Command; //Paste
Из моего проекта. Так я писал код год назад.
+126
class Program
{
static void Main(string[] args)
{
User admin = new User() { Name = "Admin", Dick = new User.UserDick(18) };
User guest = new User() { Name = "guest", Dick = new User.UserDick(12) };
Console.WriteLine(guest.Suck(admin.Dick));
Console.ReadLine();
}
}
public class User
{
public User() { }
public class UserDick
{
public UserDick(int _length) { Length = _length; }
public long Length { get; set; }
}
public string Name { get; set; }
public UserDick Dick { get; set; }
public string Suck(UserDick _dick)
{
return String.Format("{0}: OH YEAH FUCK ME BY YOUR {1} CM YEEEEEAH I WANNA SUCK YOUR {2} DICK!", Name, _dick.Length, _dick.Length >= 17 ? "BIG" : "SMALL");
}
}
+135
public enum Minutes
{
[Description("00")]
Zero = 0,
[Description("05")]
Five = 5,
[Description("10")]
Ten = 10,
[Description("15")]
Fifteen = 15,
[Description("20")]
Twenty = 20,
[Description("25")]
TwentyFive = 25,
[Description("30")]
Thirty = 30,
[Description("35")]
ThirtyFive = 35,
[Description("40")]
Forty = 40,
[Description("45")]
FortyFive = 45,
[Description("50")]
Fifty = 50,
[Description("55")]
FiftyFive = 55,
}
+134
public enum Hours
{
[Description("01")]
One = 1,
[Description("02")]
Two = 2,
[Description("03")]
Three = 3,
[Description("04")]
Four = 4,
[Description("05")]
Five = 5,
[Description("06")]
Six = 6,
[Description("07")]
Seven = 7,
[Description("08")]
Eight = 8,
[Description("09")]
Nine = 9,
[Description("10")]
Ten = 10,
[Description("11")]
Eleven = 11,
[Description("12")]
Twelve = 12
}
+132
private Duplicate CheckForDuplicate(object name, object surname, object patronymic, object birthday, object oldSurname, out List<long> duplicateRowIDs)
{
duplicateRowIDs = new List<long>();
DataTable _idDuplicateRowTable = new DataTable();
//Проверка на полные дубликаты
_idDuplicateRowTable = SqlWrapper.ExecuteQuery(
@"
SELECT id
FROM [Физические лица]
WHERE [Физические лица].Фамилия=@param0
AND [Физические лица].Имя=@param1
AND [Физические лица].Отчество=@param2
AND [Физические лица].[Дата рождения]=@param3
AND (( @param4 IS NOT NULL AND [Физические лица].[Старая фамилия]=@param4 )
OR (@param4 IS NULL AND [Физические лица].[Старая фамилия] IS NULL ))
",
surname, name, patronymic, birthday, oldSurname
).Tables[0];
if (_idDuplicateRowTable.Rows.Count == 1)
{
duplicateRowIDs.Add((long)_idDuplicateRowTable.Rows[0]["id"]);
return Duplicate.Fully;
}
//Несколько полных дубликатов
if (_idDuplicateRowTable.Rows.Count > 1)
{
foreach (DataRow duplicate in _idDuplicateRowTable.Rows)
{
duplicateRowIDs.Add((long)duplicate["id"]);
}
return Duplicate.SomeFullyDuplicates;
}
//Проверяем только ФИО+дата рождения
_idDuplicateRowTable = SqlWrapper.ExecuteQuery(
@"
SELECT id, [Старая фамилия]
FROM [Физические лица]
WHERE [Физические лица].Фамилия=@param0
AND [Физические лица].Имя=@param1
AND [Физические лица].Отчествo=@param2
AND [Физические лица].[Дата рождения]=@param3
",
surname, name, patronymic, birthday
).Tables[0];
if (_idDuplicateRowTable.Rows.Count == 1)
{
if (_idDuplicateRowTable.Rows[0]["Старая фамилия"].Equals(DBNull.Value) && oldSurname is String)//Если стар. фамилия в БД == null & в файле != null
{
duplicateRowIDs.Add((long)_idDuplicateRowTable.Rows[0]["id"]);
return Duplicate.OldSurnameDiff;
}
duplicateRowIDs.Add((long)_idDuplicateRowTable.Rows[0]["id"]);
return Duplicate.ErrOldSurname;
}
else if (_idDuplicateRowTable.Rows.Count > 1)
{
foreach (DataRow row in _idDuplicateRowTable.Rows)
{
duplicateRowIDs.Add((long)row["id"]);
}
return Duplicate.SomeBaseDuplicates;
}
return Duplicate.NonDuplicate;
}
private bool IsPotentilaDuplicate(object name, object surname, object patronymic, object birthday, object oldSurname)
{
bool _isPotentilaDuplicate = false;
//Проверяем, не станет ли строка дубликатом, после изменения
//Только по ФИО+дате рождения
DataTable _ponentialDuplicates1 = SqlWrapper.ExecuteQuery(
@"
SELECT id
FROM [Физические лица]
WHERE [Физические лица].Фамилия=@param0
AND [Физические лица].Имя=@param1
AND [Физические лица].Отчество=@param2
AND [Физические лица].[Дата рождения]=@param3
",
oldSurname, name, patronymic, birthday
).Tables[0];
//Полное совпадение
DataTable _ponentialDuplicates2 = SqlWrapper.ExecuteQuery(
@"
SELECT id
FROM [Физические лица]
WHERE [Физические лица].Фамилия=@param0
AND [Физические лица].Имя=@param1
AND [Физические лица].Отчество=@param2
AND [Физические лица].[Дата родения]=@param3
AND [Физические лица].[Старая фамилия]=@param4
",
oldSurname, name, patronymic, birthday, surname
).Tables[0];
if (_ponentialDuplicates1.Rows.Count > 0 || _ponentialDuplicates2.Rows.Count > 0)
{
_isPotentilaDuplicate = true;
}
return _isPotentilaDuplicate;}
Ну.... Проверка на дубликаты перед вставкой в БД. Сляпал его я, по методологии "давай-давай-быстрее!!!!а-а-а не успеваем", для показа заказчикам будущей функциональности. Сейчас переделываю с помощью паттерна Декоратор (т.к. нужно опционально проверка по ФИО+Дата рождения или СНИЛС или и то, и другое)+ввел табличку История изменений фамилий вместо столбца Старая фамилия