- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
<?php
# bla bla bla...
$friends->add(new Friend('Den'));
$user->add($friends);
$friends->add($user);
$friends->getRecursiveDescription(); # сбой!
# bla bla bla...
?>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+166
<?php
# bla bla bla...
$friends->add(new Friend('Den'));
$user->add($friends);
$friends->add($user);
$friends->getRecursiveDescription(); # сбой!
# bla bla bla...
?>
Крах композита "вешает" веб-сервер!
+97
TPicture = class(TInterfacedPersistent, IStreamPersist)
....
property Bitmap: TBitmap read GetBitmap write SetBitmap;
property Icon: TIcon read GetIcon write SetIcon;
property Metafile: TMetafile read GetMetafile write SetMetafile;
....
procedure TPicture.ForceType(GraphicType: TGraphicClass);
begin
if not (Graphic is GraphicType) then
begin
FGraphic.Free; // 0_0 йобаный стыд!!
FGraphic := nil;
FGraphic := GraphicType.Create;
FGraphic.OnChange := Changed;
FGraphic.OnProgress := Progress;
Changed(Self);
end;
end;
function TPicture.GetBitmap: TBitmap;
begin
ForceType(TBitmap);
Result := TBitmap(Graphic);
end;
function TPicture.GetIcon: TIcon;
begin
ForceType(TIcon);
Result := TIcon(Graphic);
end;
function TPicture.GetMetafile: TMetafile;
begin
ForceType(TMetafile);
Result := TMetafile(Graphic);
end;
Взято из "ДНК", т.е. VCL от Delphi7. unit graphics.pas
Методы get-аксессоры свойств Bitmap, Icon и Metafile вызывают ForceType(). Шутка в том, что если картинка у вас другого типа - то она будет ВНЕЗАПНО выпилена насовсем, стоит только прочитать(sic!) не то свойство объекта класса TPicture.
Наступил сам на эти грабли и потратил драгоценный, час пока понял в чем дело.
+160
/*
...
*/
/* Add some salt */
$sold = $settings['users']['password_salt'];
$password = $sold.$password;
/* 1. MD5 */
$password = md5($password);
/* 2. SHA1 */
$password = sha1($password);
/* 4. Base64 */
$password = base64_encode($password);
/* 5. Fatality! */
$password = sha1($password);
/* Well done! */
return $password;
Мощно
+177
function yap(){
return function(){
yap();
}
}
Вот такое оно, функциональное програмирование
+173
function isNullorUndefined(val) {
var u;
return ((u === val) || (val == null));
}
Из онлайн примеров одного разработчика элементов интерфейса (за большие бабки продают между прочим).
+162
$str = strip_tags(htmlentities($str));
простовато, но...
Тэги не пройдут!!!
+147
int*& HochuVOtpusk = *new int*;//:(
−179
class Source:
id = ''
values = []
arrays =[ ( 'bool_array', bool), ( 'float_array', float), ('IDREF_array', str), ('int_array', int), ('Name_array', str), ('SIDREF_array', str), ('token_array', str)]
def __init__(self, node):
self.id = node.getAttribute('id')
accessors = dict([ (accessor.getAttribute('source')[1:], (int(accessor.getAttribute('count')), int(accessor.getAttribute('stride'))) ) for technique in node.getElementsByTagName("technique_common") for accessor in technique.getElementsByTagName("accessor") ])
values = [(arrayNode.getAttribute('id'), int(arrayNode.getAttribute('count')), [array[1](v) for v in getText(arrayNode).split()]) for array in Mesh.Source.arrays for arrayNode in node.getElementsByTagName(array[0])]
self.values = [ array[2][i*accessors[array[0]][1]:(i+1)*accessors[array[0]][1]] for array in values for i in range(accessors[array[0]][0])]
<source id="Box001-lib-Position">
<float_array id="Box001-lib-Position-array" count="24">-23.296745 -46.390999 0.000000 23.296745 -46.390999 0.000000 -23.296745 46.390999 0.000000 23.296745 46.390999 0.000000 -23.296745 -46.390999 35.287621 23.296745 -46.390999 35.287621 -23.296745 46.390999 35.287621 23.296745 46.390999 35.287621</float_array>
<technique_common>
<accessor source="#Box001-lib-Position-array" count="8" stride="3">
<param name="X" type="float"/>
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
в результате нужно получить список в виде
[[-23.296745, -46.390999, 0.0], [23.296745, -46.390999, 0.0], [-23.296745, 46.390999, 0.0], [23.296745, 46.390999, 0.0], [-23.296745, -46.390999, 35.287621], [23.296745, -46.390999, 35.287621], [-23.296745, 46.390999, 35.287621], [23.296745, 46.390999, 35.287621]]
Неделю назад начал учить питон, и для того чтоб это было совсем полезно, решил попробовать написать на нем парсер Collada файлов.
Очень сильно проникся идеей инициализации массивов, из-за чего и родился сей говнокод...
Код выдает правильный результат, но абсолютно не читаемый...
+107
Uses Windows;
Var Olly : hWnd;
begin
Olly:=FindWindow('OllyDBG', nil);
If Olly <> 0 then Exit;
Olly:=FindWindow('OllyDbg', nil);
If Olly <> 0 then Exit;
Olly:=FindWindow('OLLYDBG', nil);
If Olly <> 0 then Exit;
Olly:=FindWindow('ollydbg', nil);
If Olly <> 0 then Exit;
MessageBox(0, 'You are run me!', 'RunMe v0.1', 48);
end.
Код моей молодости. Кто не вкурил, это такая говнозащита от отладчика OllyDbg.
+76
for (int j = 0; j < fieldsToRemove.size(); j++) {
if (fieldsToDelete.getField(j).getKind().equals("GroupField")) {
resFieldContr.remove(j--);
}
}
собственно цикл.
нашел в рабочем проекте