- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
std::string toString(std::function<std::string(T)> f = std::function<std::string(T)>()) {
std::stringstream ss;
if(f)
ss << f(some_value);
else
ss << some_value;
return ss.str();
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+28
std::string toString(std::function<std::string(T)> f = std::function<std::string(T)>()) {
std::stringstream ss;
if(f)
ss << f(some_value);
else
ss << some_value;
return ss.str();
}
+38
SkinDog* crateDog()
{
return reinterpret_cast<SkinDog*>( new Dog() );
};
void deleteDog( SkinDog* pDog)
{
delete reinterpret_cast<Dog*>( pDog );
}
EvilDog::bite()
{
Dog* pDog = mutationDog();
Не удержался, чтоб не запостить. Сами знаете откуда.
−2
//сравниваем два числа, функция не использует операторы < и > в целях переносимости на платформы, где они не поддерживаются
auto intcmp( int a, int b ) -> int {
while( a && b ) {
a--;
b--;
}
if ( a == 0 && b == 0 ) // числа равны
return 0;
if ( a == 0 ) // a - меньше
return -1;
if ( b == 0 ) // a - больше
return 1;
assert( true ); // да нам подсунули какие-то неправильные числа
}
К слову "auto foo( ... ) -> type" добавили в C++11.
+167
#define BREAKABLE_SECTION() for(;;)
BREAKABLE_SECTION()
{
::Packet * pPacket;
res = ReadPacket(pPacket);
if(ERR_OK == res)
{
res = pConstructor->PutPacket(pPacket);
if(ERR_OK == res)
{
res = pConstructor->GetFrame(data);
}else
{
//TODO:add handler of statuses other than err_ok
}
if (ERR_OK ==res)
{
break;
}else
{
//TODO:add handler of statuses other than err_ok
}
}else
{
break;
}
break;
}
перешел в новый проект где предложили изучить существующий код в огромном объеме - а он весь из таких циклов
+87
public static int[] toArray(int i){
int[] arr = new int[new String(Integer.toString(i)).length()];
for(int j=0;j<new String(Integer.toString(i)).length();++j){
arr[j] = Integer.valueOf(new Character(new String(Integer.toString(i)).charAt(j)).toString());
}
return arr;
}
Запись цифр числа в массив.
+121
if (_flag_visible == true) obj.SetVisible();
else if (_flag_visible == false) obj.SetInvisible();
+138
-(void)terminateSearchThreadInBackground:(NSNumber*)threadPtr
{
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
SearchThread* thread = (SearchThread*)[threadPtr unsignedLongValue];
delete thread;
[pool release];
}
И вновь я в шоке от нашего проекта. По какой-то неведомой причине передать в качестве параметра указатель на поток - это очень не трушно. Зато значительно более трушно - создать из него NSNumber, предварительно преобразовав к unsigned long...
+23
long gr, ri, r1, r2, y, z, z_rev;
for (i = 2; i < qr_count; i++) {
step = 0;
ri = r[i];
gr = - mpz_fdiv_ui(lowM, pm[i][step]);
r1 = gr + ri;
r2 = gr + pm[i][step] - ri;
if (r1 < 0) {
r1 += pm[i][step];
}
if (r2 < 0) {
r2 += pm[i][step];
}
while (r1 < (long) Ml2) {
sieve[r1][i] += 1;
r1 += pm[i][step];
}
while (r2 < (long) Ml2) {
sieve[r2][i] += 1;
r2 += pm[i][step];
}
for (step = 1; step < degr[i]; step++) {
gr = - mpz_fdiv_ui(lowM, pm[i][step]);
y = ri*ri;
y -= Npm[i][step];
y = y/( (long) pm[i][step-1]);
if (y < 0) { y += pm[i][step]; }
z_rev = (ri<<1) % QR[i];
//?IOOA?EOO ?OI?AOEO IA UAAEEIE?AIEA
if (z_rev == 0) { y = 0; }
else {
z = 1;
while ((z_rev*z % QR[i]) != 1) { z++;}
y *= z*pm[i][step-1];
y = y % pm[i][step];
}
ri -= y;
if (ri < 0) { ri += pm[i][step]; }
r1 = gr+ri;
r2 = gr+pm[i][step]-ri;
if (r1 < 0) { r1 += pm[i][step]; }
if (r2 < 0) { r2 += pm[i][step]; }
while (r1 < (long) Ml2) {
sieve[r1][i] += 1;
r1 += pm[i][step];
}
while (r2 < (long) Ml2) {
sieve[r2][i] += 1;
r2 +=pm[i][step];
}
}
}
Когда лучше, чтобы кода не было, чем, чтобы он был...
0
using KoKo.Property;
namespace MyProject {
public class Person {
private StoredProperty<string> FirstName { get; }
private StoredProperty<string> LastName { get; }
public Property<string> FullName { get; }
public Person(string firstName, string lastName) {
FirstName = new StoredProperty<string>(firstName);
LastName = new StoredProperty<string>(lastName);
FullName = DerivedProperty<string>.Create(FirstName, LastName, (first, last) => $"{first} {last}");
}
public void SetFirstName(string firstName) {
FirstName.Value = firstName;
}
}
}
0
Как крестьяне говна поели
This function is defined as the RtlSecureZeroMemory function (see WinBase.h). The implementation of RtlSecureZeroMemory is provided inline and can be used on any version of Windows (see WinNT.h.)
Use this function instead of ZeroMemory when you want to ensure that your data will be overwritten promptly, as some C++ compilers can optimize a call to ZeroMemory by removing it entirely.