- 1
- 2
- 3
- 4
- 5
- 6
- 7
private void Form_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
btnCancel_Click(sender, EventArgs.Empty);
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+108
private void Form_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
btnCancel_Click(sender, EventArgs.Empty);
}
}
Форма - модальный диалог, Cancel кнопка обычная - никаких причин просто выставить у нее DialogResult в Cancel не было. Но ведь так нагляднее!
+117
#region methods
private bool _updatingState;
public class ProcessArgs : EventArgs
{
}
internal event EventHandler<ProcessArgs> OnBeforeProcess;
public abstract void Process(IEnumerable<DataSource> data);
// Тут еще много всего, на удивление есть и методы
#endregion
#region properties
private readonly IList<IResult> _results = new List<IResult>(100);
private void buildResultsList()
{
//код
}
// ну и немного свойств
#endregion
#region events
public delegate IEnumerable<int> Strategy();
public class StrategyEventArgs : EventArgs
{
public Strategy Strategy { get; set; }
}
public event EventHandler OnResultsLoading;
private void raiseOnResultsLoading()
{
foreach (EventHandler handler in OnResultsLoading.GetInvocationList())
handler(this, EventArgs.Empty);
}
#endregion
#region members
// пусто - все мемберы сидят по другим region
#endregion
За что я не люблю regions, особенно у говнокодеров. Зато если просто открыть файлик то выглядит все замечательно, чисто и аккуратно.
+112
public static class EntryPoint
{
private class NotFoundException : ApplicationException
{
public FoundException(int id, SourceType type)
private SourceType Type { get; set; }
private int Id { get; set; }
}
private class InProgressException : ApplicationException
{
public InProgressException(int id, SourceType type)
{
Type = type;
Id = id;
}
private UserViewSourceType Type { get; set; }
private int Id { get; set; }
}
public static void Analyze(SourceType type, IEnumerable<int> dataId)
{
try
{
initialize(type, dataId);
}
catch (InProgressException)
{
// немного говнокода
}
catch (NotFoundException)
{
// немного говнокода
}
}
Для того что бы внутри статического класса между двумя процедурами наладить связь (Analyze - initilize) человек определил два новых типа exceptions (private) и дал им дополнительные свойства которые нигде не используются. Exceptions эти больше нигде кроме initialize не кидаются и нигде кроме Analyze не ловятся. Ну и initialize больше ниоткуда кроме Analyze не вызывается.
В итоге имеем два лишних класса и тучу кода который можно без помех удалить, чем я собственно и занимаюсь :)
+121
if (_flag_visible == true) obj.SetVisible();
else if (_flag_visible == false) obj.SetInvisible();
+125
static void Initialize()
{
if (Manager.Current == null)
{
new Manager();
}
}
человек изобрел новый тип singleton, instance которого выставляется при вызове конструктора его типа. Если вызвать два раза - второй перекроет первый. Тип public, конструктор тоже public
+125
m_PRICEURL = m_PRICEURL.Replace("{0}", "2010");
Новый Год принёс не только подарки, но и коллекцию говнокода вроде такого
+129
Exception Myex;
int responseVal = HelperMethods.DoPost(url, postdata, "text/xml; charset=utf-8", ref xmlResponse, null, out Myex);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(new StringReader(xmlResponse));
string StatusID = xmlDoc.ChildNodes[1].ChildNodes[0].FirstChild.Value;
if (StatusID.ToLower() != "0")
Последняя строка не может не радовать. Никогда не знаешь каким большим может быть ноль ...
+114
public new int? OperatorCode
{
get
{
int result = 0;
if (!String.IsNullOrEmpty(Request.QueryString["OperatorCode"]) && Int32.TryParse(Request.QueryString["OperatorCode"].ToString(), out result) == true)
OPERATOR_CODE = result;
return OPERATOR_CODE;
}
set
{
if (value.HasValue)
OPERATOR_CODE = value.Value;
else
OPERATOR_CODE = null;
}
}
Вот такое свойство мне встретилось
+113
let rnd = System.Random()
// создаём строку, содержащую 10 случайных чисел, разделённых пробелами
let sourceString = System.String.Join (" ", [1..10] |> List.map (fun x -> rnd.Next(1, 10).ToString()))
// функция, удаляющая повторяющиеся числа из строки
let removeDuplicate str =
// разбиваем строку на отдельные числа
let sourceList = sourceString.Split ([|' '|]) |> Array.toList |> List.map (fun x -> System.Int32.Parse (x))
// список, в который будем ложить неповторяющиеся элементы
let newList = ref []
// проходим по всем элементам исходного списка
List.iter
(fun x ->
// если элемента в новом списке ещё нет, кладём его туда
if (List.exists (fun y -> y = x) !newList) = false
then (newList := List.append !newList [x]))
sourceList
// получаем строку из списка с неповторяющимися элементами
System.String.Join (" ", !newList |> List.map (fun x -> x.ToString()))
// получаем новую строку
let resultString = removeDuplicate sourceString
// выводим старую и новую строку
printfn "%s" sourceString
printfn "%s" resultString
+113
open System
let mutable str = "1234455566667778888"
for i = str.Length - 1 downto 1 do
if str.[i] = str.[i-1] && Char.IsDigit(str.Chars(i)) then
str <- str.Remove(i, 1);
printfn "%s" str
Console.ReadKey() |> ignore