- 1
http://blogs.msdn.com/b/oldnewthing/archive/2010/09/17/10063629.aspx
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−288
http://blogs.msdn.com/b/oldnewthing/archive/2010/09/17/10063629.aspx
Что за хрень? С каких пор \ в виндовой консоли эксейпит кавычки? Эскейпящий символ же ^?
+125
Господа. Помогите решить хитрую задачку.
Есть у меня проект корне которого лежат файлик весь проект под контролем git кроме этого файлика. там конфигурация специфичная для тестового сервера.
Вот мне нужно сделать еще одну ветку, и как бы сделать так что бы этот файлик был подконтрольный гиту в этой ветке.
т.е. когда я делаю checkout файлик менялся. А когда push файлик игнорировался бы.
Очень буду благодарен если кто подскажет как быть.
−405
-(BOOL)isForEvenNumberPage
{
return self.pageNumber % 2 == 0;
}
-(BOOL)isForOddNumberPage
{
return [self isForEvenNumberPage] == NO;
}
Один очень крупный проект от заокеанского заказчика
+8
if(!(a - b))
+134
// Как вы думаете какой вариант кода более правильный?
using System;
using System.Linq;
public class Program {
public static int Puzzle(string s) {
return s.Where(x=>x=='a').Count();
}
}
// Или вот этот?
using System;
using System.Linq;
public class Program {
public static int Puzzle(string s) {
return s.Count(x=>x=='a');
}
}
//С точки зрения Майкрософт 1-ый вариант лучше
Майкрософт запустила игру головоломку, каждая из головоломок решается определнным кодом. После - элегантность решения оценивается, весьма неоднозначным способом.
Подробнее - https://www.codehunt.com/ и статейка на хабре http://habrahabr.ru/post/223173/ . Данная особенность замечена не мной, задачи 2.06 и 2.07
+12
QVector<int> v1;
v1.push_back(1);
v1.push_back(2);
// взяли итератор на нулевой элемент вектора v1
QVector<int>::iterator it = v1.begin();
// замутили копию
QVector<int> v2 = v1;
v1[1] = 42;
*it = 5;
v2[1] = 100500;
// и что же мы получим?
qDebug() << v1; // QVector(1, 42)
qDebug() << v2; // QVector(5, 100500)
Ловим лулзы с implicit sharing'ом.
Мораль (она описана в доке): нельзя копировать implicit shared контейнер пока живы и используются неконстантные итераторы на его элементы.
+15
struct Point3D {
float x,y,z;
float& operator [] (int i) {
switch (i) {
case 0: return x;
case 1: return y;
case 2: return z;
default: assert(false);
}
}
};
Писал Жабапоглащенный.
+23
const Tifon& Tifon::operator=(const Tifon& Buffer)
{
assert(&Buffer!=this);
if(&Buffer==this)
return *this;
Tifon OldForExceptionSafe(*this);
try{
this->~Tifon();
::new((void*)this)Tifon(Buffer);
}catch(...){//try restore
::new((void*)this)Tifon(OldForExceptionSafe);
}
return *this;
};
//...
namespace std
{
const Tifon&swap (Tifon& a, Tifon& b) {
assert(&a!=&b);
if(&a==&b)
return a;
Tifon c(a);
a=b;
b=c;
}
};
+111
var
s:string;
begin
repeat
readln(s);
until
(length(s)=4)
and(
(s[1]='1')
or(s[1]='2')
or(s[1]='3')
or(s[1]='4')
or(s[1]='5')
or(s[1]='6')
or(s[1]='7')
or(s[1]='8')
or(s[1]='9')
)
and(
(s[2]='1')
or(s[2]='2')
or(s[2]='3')
or(s[2]='4')
or(s[2]='5')
or(s[2]='6')
or(s[2]='7')
or(s[2]='8')
or(s[2]='9')
or(s[2]='0')
)
and(
(s[3]='1')
or(s[3]='2')
or(s[3]='3')
or(s[3]='4')
or(s[3]='5')
or(s[3]='6')
or(s[3]='7')
or(s[3]='8')
or(s[3]='9')
or(s[3]='0')
)
and(
(s[4]='1')
or(s[4]='2')
or(s[4]='3')
or(s[4]='4')
or(s[4]='5')
or(s[4]='6')
or(s[4]='7')
or(s[4]='8')
or(s[4]='9')
or(s[4]='0')
)
end.
Нашёл у себя из первого курса.
+107
function HexToInt(s: string): integer;
label
gte;
var
tempt: string;
i: integer;
begin
tempt := '';
if s = '' then
begin
HexToInt := 0;
goto gte;
end;
for i := 1 to Length(s) do
begin
tempt := tempt + IntToHex(Ord(s[i]), 2);
end;
HexToInt := StrToInt('$' + tempt);
gte:
end;
Ряд гениальных решений из-за незнания особенностей языка.
Честно взято с: http://www.delphisources.ru/pages/faq/base/hex_to_int.html
Честно написано автором: Перегинец Иваном ( [email protected] )