- 1
- 2
- 3
- 4
- 5
- 6
- 7
public TD GetColumn(int i) {
try {
return this.Columns[i];
} catch {
return this.Columns[i - 1];
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+8
public TD GetColumn(int i) {
try {
return this.Columns[i];
} catch {
return this.Columns[i - 1];
}
}
в продолжение парсера
+8
if (args.Length < 2 || args.Length == 3 || args.Length > 5 || args.Length > 2 && args[2] != "-n" && args[2] != "-t" || args.Length == 5 && args[4] != "-f" && args[4] != "-d" && args[4] != "-a")
{
FindPrivateKey.PrintHelp();
}
Из майкрософтовского sample для поиска файлов приватных ключей.
+6
tempPages.Add(page, tempValue);
rempPages = tempPages;
if (totalPages != 0)
{
rotalPages = totalPages;
}
currentCountItem += tempLength;
Шашлык-рашлык.
+7
public bool IsInRange(string ip, string cidrMask)
{
string[] parts = cidrMask.Split('/');
int iIp = IPAddress.Parse(parts[0].Trim()).GetHashCode();
int iCidr = IPAddress.Parse(ip.Trim()).GetHashCode();
int iCidrMask = IPAddress.HostToNetworkOrder(-1 << (32 - int.Parse(parts[1].Trim())));
return ((iIp & iCidrMask) == (iCidr & iCidrMask));
}
Финт ушами - превращение IPv4 в Int32 через вызов GetHashCode
+2
....
SetFormPopup("/" & pageName & ".htm")
pageName = pageName.Replace("(", "-")
pageName = pageName.Replace(")", "-")
pageName = pageName.Replace("&", "-")
pageName = pageName.Replace(",", "-")
pageName = pageName.Replace("""", "-")
pageName = pageName.Replace("'", "-")
pageName = pageName.Replace("_", "-")
pageName = pageName.Replace("?", "-")
pageName = pageName.Replace(".-", "-")
pageName = pageName.Replace("-------", "-")
pageName = pageName.Replace("------", "-")
pageName = pageName.Replace("-----", "-")
pageName = pageName.Replace("----", "-")
pageName = pageName.Replace("---", "-")
pageName = pageName.Replace("--", "-")
pageName = pageName.Trim("-")
....
+1
using DocsTaskInfo = System.Collections.Generic.KeyValuePair<int, bool>;
using DocAndContentType = System.Collections.Generic.KeyValuePair<int, string>;
using DocAndContentTypeToCount = System.Collections.Generic.Dictionary<System.Collections.Generic.KeyValuePair<int, string>, System.Collections.Generic.KeyValuePair<int, bool>>;
//...
private void DocsCountInternal(RefNetDbContainerDirect db, int docType, string contentType, int status, int count, bool Checked = true){/*...*/}
//...
private DocAndContentTypeToCount[] _docCheckTasks;
private RefNetDbContainerDirect _dbForCheck;
private void ClearAllDocCounts(RefNetDbContainerDirect dbForCheck)
{
_dbForCheck = dbForCheck;
_docCheckTasks = Enumerable.Repeat(new DocAndContentTypeToCount(), 2).ToArray();
//new DocAndContentTypeToCount[2] { new DocAndContentTypeToCount(), new DocAndContentTypeToCount() };
}
private void DocsCount(RefNetDbContainerDirect db, int docType, string contentType, int status, int count, bool Checked = true)
{
var taskHistory = _docCheckTasks[status];
var taskKey = new DocAndContentType(docType, contentType);
var taskInfo = new DocsTaskInfo(count, Checked);
if(taskHistory.ContainsKey(taskKey))
_exceptions.Add(new Exception(string.Format(
"CheckDocsTask with (_.idDocType == {0}) && (_.contentType == \"{1}\") && (_.status == {2}) ) already contained",
docType, contentType, status)));
taskHistory.Add(taskKey, taskInfo);
}
private void CheckAllDocCounts()
{
if (AllDocumentsMadeByServer)
{
//1
var taskKeys = _docCheckTasks.SelectMany(_ => _.Keys)/*.Distinct()*/.ToArray();
foreach (var taskKey in taskKeys)
{
DocAndContentType key = taskKey;
foreach (var statusedTask in _docCheckTasks.Where(statusedTask => !statusedTask.ContainsKey(key)))
statusedTask.Add(taskKey, new DocsTaskInfo(0, true));
}
taskKeys.Select(_ => new
{
docAndContentType = _,
count = _docCheckTasks[0][_].Key + _docCheckTasks[1][_].Key,
Checked = _docCheckTasks[0][_].Value && _docCheckTasks[1][_].Value
}).ForEach(_ => DocsCountInternal(_dbForCheck, _.docAndContentType.Key, _.docAndContentType.Value, 1, _.count, _.Checked));
}
else
//0 и 1
foreach(var statusedTask in _docCheckTasks.Select((tasks, status) => new {tasks, status}))
foreach (var task in statusedTask.tasks)
DocsCountInternal(_dbForCheck, task.Key.Key, task.Key.Value, statusedTask.status, task.Value.Key, task.Value.Value);
_docCheckTasks = null;
_dbForCheck = null;
}
Автору я бы посоветовал утопиться, но как посоветуете отрефакторить?
Планировалось, что чувак вызывает ClearAllDocCounts, затем много раз метод DocsCount, а потом CheckAllDocCounts.
+1
public class UnionDocumentJournalController : BaseDocumentJournalController
<UnionDocumentJournalFilterViewModel, UnionDocumentJournalEntityViewModel, UnionDocumentJournalDataViewModel,
UnionDocumentDataProvider, UnionDocumentDataManager, UnionLegalEntityDocumentsJournalViewModelMapper>
{ }
public class UnionDocumentJournalFilterViewModel : BaseJournalFilterViewModel<UnionDocumentJournalEntityViewModel>
{
...
}
public class UnionDocumentJournalEntityViewModel : LegalEntityDocumentJournalEntityViewModel
{
...
}
public class UnionDocumentJournalDataViewModel : BaseJournalDataViewModel<UnionDocumentJournalEntityViewModel>
{ }
public class UnionDocumentDataManager :
DocumentDataManager
<UnionDocumentDataProvider, UnionDocumentJournalFilterViewModel, UnionDocumentJournalEntityViewModel>
{
...
}
public class UnionLegalEntityDocumentsJournalViewModelMapper :
LegalEntityDocumentsJournalViewModelMapper<UnionDocumentJournalEntityViewModel, UnionDocumentJournalDataViewModel>
{
...
}
Горе от ума
+4
private void button2_Click(object sender, EventArgs e)
{
int n1 = Convert.ToInt16(textBox1.Text);
int n2 = Convert.ToInt16(textBox4.Text);
int n3 = Convert.ToInt16(textBox7.Text);
int n4 = Convert.ToInt16(textBox10.Text);
int n5 = Convert.ToInt16(textBox13.Text);
int n6 = Convert.ToInt16(textBox16.Text);
int n7 = Convert.ToInt16(textBox19.Text);
int n8 = Convert.ToInt16(textBox22.Text);
int b1 = Convert.ToInt16(textBox2.Text);
int b2 = Convert.ToInt16(textBox5.Text);
int b3 = Convert.ToInt16(textBox8.Text);
int b4 = Convert.ToInt16(textBox11.Text);
int b5 = Convert.ToInt16(textBox14.Text);
int b6 = Convert.ToInt16(textBox17.Text);
int b7 = Convert.ToInt16(textBox20.Text);
int b8 = Convert.ToInt16(textBox23.Text);
int c1 = Convert.ToInt16(textBox3.Text);
int c2 = Convert.ToInt16(textBox6.Text);
int c3 = Convert.ToInt16(textBox9.Text);
int c4 = Convert.ToInt16(textBox12.Text);
int c5 = Convert.ToInt16(textBox15.Text);
int c6 = Convert.ToInt16(textBox18.Text);
int c7 = Convert.ToInt16(textBox21.Text);
int c8 = Convert.ToInt16(textBox24.Text);
int ii, S2, S1, ti, ip, iip, iis, dp, ds, n;
/*Индекс инфляции ii=S2/S1,
*Темп инфляции ti=ii-1
*простых процентов iip=((1+n*ip)*ii-1)/n
* для сложных iis=(1+is)nii(1/n)-1
* Реальная доходность простые% dp=(n*iip+1-ii)/ii
* Реальная доходность сложные% ds=(1+iis)/ii(1/n)-1
* сумма всей корзины S1 и S2
*/
S1 = n1 * b1 + n2 * b2 + n3 * b3 + n4 * b4 + n5 * b5 + n6 * b6 + n7 * b7 + n8 * b8;// сумма S1
S2 = n1 * c1 + n2 * c2 + n3 * c3 + n4 * c4 + n5 * c5 + n6 * c6 + n7 * c7 + n8 * c8;// сумма S2
ii = S2 / S1; // индекс инфляции
ti = ii - 1; // темп инфляции
n= n1+n2+n3+n4+n5+n6+n7+n8; // n= общее кол-во товаров и услуг
iip = ((1 + n * ip) * ii - 1) / n;
+4
StringBuilder errorMessage = new StringBuilder();
int i = 0, j = 0;
bool outcome = true;
double value;
string[] label = new string[] { label1.Text, label2.Text, label4.Text };
textBox1.Text = textBox1.Text.Trim();
textBox2.Text = textBox2.Text.Trim();
textBox3.Text = textBox3.Text.Trim();
foreach (string field in (new string[] { textBox1.Text, textBox2.Text, textBox3.Text }))
{
try
{
if (field.Length == 0)
throw new Exception("отсутствует значение.\n");
if (j == 2)
value = int.Parse(field, NumberStyles.Integer);
else
value = double.Parse(field, NumberStyles.Float);
if (value <= 0)
throw new Exception("значение должно быть строго больше нуля.\n");
if (j == 2)
{
try
{
dateTimePicker1.Value.Date.AddMonths((int)value);
}
catch (Exception)
{
throw new Exception("превышено максимальное значение типа System.DateTime, " + DateTime.MaxValue.ToShortDateString() + ".\n" +
"Срок вклада не может превышать " +
((DateTime.MaxValue.Year - dateTimePicker1.Value.Date.Year) * 12 +
DateTime.MaxValue.Month - dateTimePicker1.Value.Date.Month).ToString() + " мес. " + "от указанной даты оформления, " + dateTimePicker1.Value.Date.ToShortDateString() + ".\n");
}
}
}
catch (Exception e)
{
errorMessage.Append((++i).ToString() + ". " + label[j] + ": ");
switch (e.GetType().ToString())
{
case "System.FormatException":
errorMessage.AppendLine("неверный формат числа.\n");
break;
case "System.OverflowException":
{
if (j < 2)
{
errorMessage.AppendLine("значение не может быть обработано вещественным типом System.Double.");
errorMessage.AppendLine("Значение типа должно быть строго больше нуля, в промежутке (0; " + double.MaxValue.ToString() + "].\n");
}
else
{
errorMessage.AppendLine("значение не может быть обработано целочисленным типом System.Int32.");
errorMessage.AppendLine("Значение типа должно быть строго больше нуля, в промежутке (0; " + int.MaxValue.ToString() + "].\n");
}
break;
}
default:
errorMessage.AppendLine(e.Message);
break;
}
outcome = false;
}
j++;
}
Мастер исключений 80-го уровня.
Хорошо, хоть не по мессаджам их разделяет.
−1
public interface IApplicationUserManager { }
public class ApplicationUserManager : UserManager<ApplicationUser, long>, IApplicationUserManager
{
private static ApplicationUserManager applicationUserManager;
public static bool IsUserInRole(long userId, string roleName)
{
return applicationUserManager.UserInRole(userId, roleName);
}
public ApplicationUserManager(IAccountService accountService)
: base(new ApplicationUserStore())
{
this.accountService = accountService;
applicationUserManager = this;
}
}
Проверяй, проверяй мои роли полностью...