- 1
- 2
- 3
string a = 'a'+""+'b';
string b = ""+'a'+'b';
string c = 'a'+'b'+"";
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+128
string a = 'a'+""+'b';
string b = ""+'a'+'b';
string c = 'a'+'b'+"";
никогда не воспроизводи говнокод по памяти
+145
string a = 'a'+""+'b';
string b = ""+'a'+'b';
может и боян
+129
IsDirty = InitialLoad ? false : true;
Классический индусокод, в исполнении расового полового индуса.
+956
private void SetDisplay(string Group)
{
string taxInt = "144";
switch (Group.ToLower())
{
case "bond":
taxInt = "141";
..............
break;
case "commodity":
taxInt = "329";
..............
break;
case "emarkets":
taxInt = "142";
..............
break;
default:
taxInt = "144";
..............
break;
}
SetItems(taxInt);
}
public void SetItems(string taxInt)
{
Trace.Write(taxInt);
int number;
bool result = Int32.TryParse(taxInt, out number);
if (result)
{
tid = number;
}
else
{
tid = 144;
this.lbHard.Style.Add("color", "#000");
}
Trace.Write(tid.ToString());
if (tid > 0)
{
..............
}
else
{
//здесь было пусто
}
}
Лишний код удалён, оставлена только самая важная часть кода))
+147
private void SetDisplay(string Group)
{
string taxInt = "144";
switch (Group.ToLower())
{
case "bond":
taxInt = "141";
..............
break;
case "commodity":
taxInt = "329";
..............
break;
case "emarkets":
taxInt = "142";
..............
break;
default:
taxInt = "144";
..............
break;
}
SetItems(taxInt);
}
public void SetItems(string taxInt)
{
Trace.Write(taxInt);
int number;
bool result = Int32.TryParse(taxInt, out number);
if (result)
{
tid = number;
}
else
{
tid = 144;
this.lbHard.Style.Add("color", "#000");
}
Trace.Write(tid.ToString());
if (tid > 0)
{
..............
}
else
{
//здесь было пусто
}
}
Лишний код удалён, оставлена только самая важная часть кода))
+964
using System;
using System.Reflection;
using System.Reflection.Emit;
namespace DynUnloop
{ // Суммирование в цикле
class SumLooping
{ public int Summ(int valMax)
{ int result = 0;
for (int i = 0; i <= valMax; i++)
result += i;
return result;
}
}
// Плоское суммирование
class SumFlat
{ interface ISumCode
{ int ComputeSumm(int valMax);
}
void WriteCode(int valMax)
{ AssemblyName assemblyName = new AssemblyName();
assemblyName.Name = "SumFlatAssembly";
AssemblyBuilder assemblyBuilder =
AppDomain.CurrentDomain.DefineDynamicAssembly(
assemblyName, AssemblyBuilderAccess.Run);
ModuleBuilder moduleBuilder =
assemblyBuilder.DefineDynamicModule("SumFlatModule");
TypeBuilder typeBuilder =
moduleBuilder.DefineType("SumFlatClass"
, TypeAttributes.Public);
typeBuilder.AddInterfaceImplementation(typeof(ISumCode));
/// Задаём возвращаемое зачение и параметр
Type[] paramTypes = { typeof(int) };
Type returnType = typeof(int);
MethodBuilder methodBuilder =
typeBuilder.DefineMethod("ComputeSumm"
, MethodAttributes.Public
| MethodAttributes.Virtual
, returnType, paramTypes);
ILGenerator il = methodBuilder.GetILGenerator();
// Генерируем плоский код.
il.Emit(OpCodes.Ldc_I4, 0);
for (int i = 1; i <= valMax; i++)
{ il.Emit(OpCodes.Ldc_I4, i);
il.Emit(OpCodes.Add);
}
il.Emit(OpCodes.Ret);
// Перекрываем метод ComputeSumm и создаём тип SumFlatClass.
MethodInfo methodInfo =
typeof(ISumCode).GetMethod("ComputeSumm");
typeBuilder.DefineMethodOverride(methodBuilder, methodInfo);
typeBuilder.CreateType();
/// Код готов, создаём объект и берем его интерфейс.
code = (ISumCode)assemblyBuilder.CreateInstance("SumFlatClass");
}
public int Summ(int val)
{ if (this.code == null)
WriteCode(val);
return this.code.ComputeSumm(val);
}
ISumCode code;
}
Оригинальный стиль кода и комментарии сохранёны. (с), или как там.
В коде - разворачивание цикла в "плоский" IL код, который, как доказывается должен выигрывать по производительности.
+147
private void button5_Click(object sender, EventArgs e)
{
Application.Exit();
}
-.\\
+976
public static bool MegaDispose(this IDisposable thіs)
{
if (thіs != null)
{
thіs.Dispose();
return true;
}
return false;
}
+972
str3 = "Insert Into orderList(OrderNo,Date,StoreName,TagCode,Size,Colour,TwoSidedEngraving,
EngravingOptions,PetsName,PetsNameTwoSide,Phone1,Phone1TwoSide,Phone2,Phone2TwoSide,
Phone3,Phone3TwoSide,OwnersFirstName,OwnersLastName,StreetAddress,Suburb,State,ZipCode,
Country,MStreetAddress,MSuburb,MState,MZipCode,MCountry,OwnersFirstNameTwoSide,
OwnersLastNameTwoSide,StreetAddressTwoSide,SuburbTwoSide,StateTwoSide,ZipCodeTwoSide,
flag,Other9,idcust,Receiver,demo,databasename,isonline,faxfile) values(N'" + this.Request.Form["Orderno"] +
"',Getdate(),N'" + Strings.Replace(this.Request.Form["storename"],"'", "''", 1, -1, CompareMethod.Binary) +
"',N'" + str + "',N'" + this.Request.Form["tagSize"] + "',N'" + this.Request.Form["tagcolor"] + "',N'" +
this.Request.Form["TwoSide"] + "',N'" + str2 + "',N'" +
Strings.Replace(Strings.Replace(this.Convert(this.Request.Form["PetsName"]), "'", "''", 1, -1,
CompareMethod.Binary), "\"", "\"", 1, -1, CompareMethod.Binary) + "',N'" +
this.Request.Form["chbPetsName"] + "',N'" +
Strings.Replace(Strings.Replace(Strings.UCase(this.Convert(this.Request.Form["Phone1"])), "'", "''",
1, -1, CompareMethod.Binary), "\"", "\"", 1, -1, CompareMethod.Binary) + "',N'" +
this.Request.Form["chbPhone1"] + "',N'" +
Strings.Replace(Strings.Replace(Strings.UCase(this.Convert(this.Request.Form["Phone2"])),
"'", "''", 1, -1, CompareMethod.Binary),
"\"", "\"", 1, -1, CompareMethod.Binary) + "',N'" + this.Request.Form["chbPhone2"] + "',N'" +
Strings.Replace(Strings.Replace(Strings.UCase(this.Convert(this.Request.Form["Phone3"])),
"'", "''", 1, -1, CompareMethod.Binary),
"\"", "\"", 1, -1, CompareMethod.Binary) + "',N'" + this.Request.Form["chbPhone3"] + "',N'" +
Strings.Replace(Strings.Replace(Strings.UCase(this.Convert(this.Request.Form["FirstName"])),
"'", "''", 1, -1, CompareMethod.Binary),
"\"", "\"", 1, -1, CompareMethod.Binary) + "',N'" +
Strings.Replace(Strings.Replace(Strings.UCase(this.Convert(this.Request.Form["LastName"])),
"'", "''", 1, -1, CompareMethod.Binary),
<ну и так далее...>
this.Response.Write(function.ExecuteSql(str3));
+122
public class ASyncFileHashAlgorithm
{
protected HashAlgorithm hashAlgorithm;
protected byte[] hash;
protected bool cancel = false;
protected int bufferSize = 4096;
public delegate void FileHashingProgressHandler (object sender, FileHashingProgressArgs e);
public event FileHashingProgressHandler FileHashingProgress;
public ASyncFileHashAlgorithm(HashAlgorithm hashAlgorithm)
{
this.hashAlgorithm = hashAlgorithm;
}
public byte[] ComputeHash(Stream stream)
{
cancel = false;
hash = null;
int _bufferSize = bufferSize; // this makes it impossible to change the buffer size while computing
byte[] readAheadBuffer, buffer;
int readAheadBytesRead, bytesRead;
long size, totalBytesRead = 0;
size = stream.Length;
readAheadBuffer = new byte[_bufferSize];
readAheadBytesRead = stream.Read(readAheadBuffer, 0, readAheadBuffer.Length);
totalBytesRead += readAheadBytesRead;
do
{
bytesRead = readAheadBytesRead;
buffer = readAheadBuffer;
readAheadBuffer = new byte[_bufferSize];
readAheadBytesRead = stream.Read(readAheadBuffer, 0, readAheadBuffer.Length);
totalBytesRead += readAheadBytesRead;
if (readAheadBytesRead == 0)
hashAlgorithm.TransformFinalBlock(buffer, 0, bytesRead);
else
hashAlgorithm.TransformBlock(buffer, 0, bytesRead, buffer, 0);
FileHashingProgress(this, new FileHashingProgressArgs(totalBytesRead, size));
} while (readAheadBytesRead != 0 && !cancel);
if(cancel)
return hash = null;
return hash = hashAlgorithm.Hash;
}
public int BufferSize
{
get
{ return bufferSize; }
set
{ bufferSize = value; }
}
public byte[] Hash
{
get
{ return hash; }
}
public void Cancel()
{
cancel = true;
}
public override string ToString ()
{
string hex = "";
foreach(byte b in Hash)
hex += b.ToString("x2");
return hex;
}
}
Очень интересная реализация "асинхронного" хэширования.