- 1
- 2
- 3
- 4
- 5
acl normal_service_net src 10.0.0.0/24
acl good_service_net src 10.0.2.0/24
tcp_outgoing_address 10.1.0.1 normal_service_net
tcp_outgoing_address 10.1.0.2 good_service_net
tcp_outgoing_address 10.1.0.3
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−596
acl normal_service_net src 10.0.0.0/24
acl good_service_net src 10.0.2.0/24
tcp_outgoing_address 10.1.0.1 normal_service_net
tcp_outgoing_address 10.1.0.2 good_service_net
tcp_outgoing_address 10.1.0.3
+10.9
int main()
{
int i;
for(clrscr(),
printf("starting of stupid progam\n"),
i=10;
i--;
printf("i= %d\n",i));
return 0;
}
Страшен язык Си
+20
public function buildCriteria($table, $conditions)
{
$source_table = $table->getTableName();
$criteria = new criteria($source_table, 'keyword');
foreach ($conditions as $field => $conds) {
if (is_array($conds)) {
if (isset($conds['plus'])) {
$word = array_shift($conds['plus']);
$like_criterion = new criterion($field, '%' . $word . '%', criteria::LIKE);
foreach ($conds['plus'] as $word) {
$like_criterion->addOr(new criterion($field, '%' . $word . '%', criteria::LIKE));
}
}
if (isset($conds['minus'])) {
$word = array_shift($conds['minus']);
$not_like_criterion = new criterion($field, '%' . $word . '%', criteria::NOT_LIKE);
foreach ($conds['minus'] as $word) {
$not_like_criterion->addAnd(new criterion($field, '%' . $word . '%', criteria::NOT_LIKE));
}
}
if (isset($conds['less'])) {
if (!is_array($conds['less'])) {
$conds['less'] = array($conds['less']);
}
$word = array_shift($conds['less']);
$less_criterion = new criterion($field, $word, criteria::LESS);
foreach ($conds['less'] as $word) {
$less_criterion->addAnd(new criterion($field, $word, criteria::LESS));
}
}
if (isset($conds['less_eq'])) {
if (!is_array($conds['less_eq'])) {
$conds['less_eq'] = array($conds['less_eq']);
}
$word = array_shift($conds['less_eq']);
$less_eq_criterion = new criterion($field, $word, criteria::LESS_EQUAL );
foreach ($conds['less_eq'] as $word) {
$less_eq_criterion->addAnd(new criterion($field, $word, criteria::LESS_EQUAL));
}
}
}
}
$main_criterion = new criterion();
if (!empty($like_criterion)) {
$main_criterion->add($like_criterion);
$add_method = 'addAnd';
}
if (!empty($not_like_criterion)) {
if (empty($add_method)) {
$add_method = 'add';
}
$main_criterion->$add_method($not_like_criterion);
}
if (!empty($less_criterion)) {
if (empty($add_method)) {
$add_method = 'add';
}
$main_criterion->$add_method($less_criterion);
}
if (!empty($less_eq_criterion)) {
if (empty($add_method)) {
$add_method = 'add';
}
$main_criterion->$add_method($less_eq_criterion);
}
$criteria->add($main_criterion);
return $criteria;
}
public function testBuildCriteria()
{
$table = new mockStubKeywordTable();
$table->setReturnValue('getTableName', 'test_table');
$query = $this->keywordQuery;
$data['field1']['less'] = 5;
$data['field2']['less_eq'] = 10;
/* $data['field2']['greater_eq'] = 11;
$data['field3']['greater'] = 12;
требуется рефакторинг
+28.2
function _isArr($value, $Arr) {
if(!isset($Arr))
return true;
for($i=0;$i<count($Arr);$i++)
if($Arr[$i]==$value)
return true;
return false;
}
Смотрим, самая нужная функция...ну после in_array конечно...и обратите внимание, проверить обязательный параметр на наличие внутри функции обязательно!
+4
db "Ассемблер язык настолько суровый, что для него нет понятия говнокода!"
+12
BuildRotateMatrix_:
mov edi,offset _RotateM
fld [esi]._x
fsincos
fld [esi]._y
fsincos
fld [esi]._z
fsincos
fld st(0)
fmul st(0),st(3)
fstp [edi]._E00
fld st(2)
fmul st(0),st(2)
fstp [edi]._E01
fld st(3)
fchs
fstp [edi]._E02
fld st(5)
fmul st(0),st(4)
fmul st(0),st(1)
fld st(5)
fmul st(0),st(3)
fsubp st(1),st(0)
fstp [edi]._E10
fld st(5)
fmul st(0),st(3)
fmul st(0),st(1)
fld st(5)
fmul st(0),st(4)
faddp st(1),st(0)
fstp [edi]._E11
fld st(5)
fmul st(0),st(3)
fstp [edi]._E12
fld st(4)
fmul st(0),st(4)
fmul st(0),st(1)
fld st(6)
fmul st(0),st(3)
faddp st(1),st(0)
fstp [edi]._E20
fld st(4)
fmul st(0),st(4)
fmul st(0),st(2)
fld st(6)
fmul st(0),st(2)
fsubp st(1),st(0)
fstp [edi]._E21
fld st(4)
fmul st(0),st(3)
fstp [edi]._E22
finit
fld1
fstp [edi]._E33
xor eax,eax
mov [edi]._E03,eax
mov [edi]._E13,eax
mov [edi]._E23,eax
mov [edi]._E30,eax
mov [edi]._E31,eax
mov [edi]._E32,eax
ret
На самом деле это не говнокод, но на осомблере всё выглядит как кусок говна :3
+22.3
if ($_POST['id']) {
$id = $_POST['id'];
} elseif ($_GET['id']) {
$id = $_GET['id'];
}
if (isset($_POST['password'])) {
$password = md5($_POST['password']);
} elseif (isset($_GET['password'])) {
$password = md5($_GET['password']);
}
+30
for i := 0 to high(vParagsChanges) do
begin
if vParNumIn < vParagsChanges[i].ParNo1 then
begin
inc(vParNumOut, vParagsChanges[i].ParNo1 - vParNumIn);
vParNumIn := vParagsChanges[i].ParNo1;
end;
if i < high(vParagsChanges) then
if (vParagsChanges[i].ParNo1+vParagsChanges[i].Range=vParagsChanges[i+1].ParNo1) and
((vParagsChanges[i].Kind=ckDelete) and (vParagsChanges[i+1].Kind=ckAdd)) then
{if vParagsChanges[i].Range = vParagsChanges[i+1].Range then}
begin
vUnitedPars := min(vParagsChanges[i].Range, vParagsChanges[i+1].Range);
if vParagsChanges[i+1].Range >= vUnitedPars then
vParagsChanges[i+1].Range := vParagsChanges[i+1].Range - vUnitedPars;
if vParagsChanges[i].Range >= vUnitedPars then
vParagsChanges[i].Range := vParagsChanges[i].Range - vUnitedPars;
for j := 0 to vUnitedPars-1 do
begin
FParsHL[vParNumIn+vInsertedCount1+j].Kind := pkReplaced;
vTagsInfoEx := GetTagsInfo(Editor1.Parag(vParNumIn+vInsertedCount1+j).Str);
FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups := GetViewGroupsByChangeItems(vTagsInfoEx.TagKinds);
vTagsInfoEx := GetTagsInfo(Editor2.Parag(vParNumIn+vInsertedCount1+j).Str);
FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups := FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups + GetViewGroupsByChangeItems(vTagsInfoEx.TagKinds);
if vParagsChanges[i].InCard then
FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups := FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups + [vgCard]
else
FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups := FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups + [vgText];
end;
inc(vParNumIn, vUnitedPars);
inc(vParNumOut, vUnitedPars);
end;
case vParagsChanges[i].Kind of
ckAdd: begin
for j := 0 to vParagsChanges[i].Range-1 do
begin
vTmpParag := TRTFParag.Create(nil, False, False, raLeft{raRight});
FEditor1.InsPar(vParNumIn+vInsertedCount1+j, vTmpParag, false);
FParsHL[vParNumIn+vInsertedCount1+j].Kind := pkAdded;
vTagsInfoEx := GetTagsInfo(Editor2.Parag(vParNumOut+vInsertedCount2+j).Str);
if vParagsChanges[i].InCard then
FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups := GetViewGroupsByChangeItems(vTagsInfoEx.TagKinds) + [vgCard]
else
FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups := GetViewGroupsByChangeItems(vTagsInfoEx.TagKinds) + [vgText];
end;
inc(vInsertedCount1, vParagsChanges[i].Range);
inc(vParNumOut, vParagsChanges[i].Range);
end;
ckDelete: begin
for j := 0 to vParagsChanges[i].Range-1 do
begin
vTmpParag := TRTFParag.Create(nil, False, False, raLeft);
FEditor2.InsPar(vParNumOut+vInsertedCount2+j, vTmpParag, false);
FParsHL[vParNumOut+vInsertedCount2+j].Kind := pkDeleted;
vTagsInfoEx := GetTagsInfo(Editor1.Parag(vParNumIn+vInsertedCount1+j).Str);
if vParagsChanges[i].InCard then
FParsHL[vParNumOut+vInsertedCount2+j].ViewGroups := GetViewGroupsByChangeItems(vTagsInfoEx.TagKinds) + [vgCard]
else
FParsHL[vParNumOut+vInsertedCount2+j].ViewGroups := GetViewGroupsByChangeItems(vTagsInfoEx.TagKinds) + [vgText];
end;
inc(vInsertedCount2, vParagsChanges[i].Range);
inc(vParNumIn, vParagsChanges[i].Range);
end;
ckModify: begin
if (ciAlignment in vParagsChanges[i].ChangedItems) and (vParagsChanges[i].StrChanges = nil) then
FParsHL[vParNumIn+vInsertedCount1].Kind := pkAlignment
else
FParsHL[vParNumIn+vInsertedCount1].Kind := pkModified;
FParsHL[vParNumIn+vInsertedCount1].Changes := GetViewChanges(vParagsChanges[i].StrChanges);
FParsHL[vParNumIn+vInsertedCount1].ViewGroups := GetViewGroupsByChangeItems(vParagsChanges[i].ChangedItems);
if vParagsChanges[i].InCard then
if (ciText in vParagsChanges[i].ChangedItems) or (ciAlignment in vParagsChanges[i].ChangedItems) then
begin
FParsHL[vParNumIn+vInsertedCount1].ViewGroups := FParsHL[vParNumIn+vInsertedCount1].ViewGroups + [vgCard];
FParsHL[vParNumIn+vInsertedCount1].ViewGroups := FParsHL[vParNumIn+vInsertedCount1].ViewGroups - [vgText, vgAlignment];
for j := 0 to high(FParsHL[vParNumIn+vInsertedCount1].Changes) do
if FParsHL[vParNumIn+vInsertedCount1].Changes[j].ViewGroup = vgText then
FParsHL[vParNumIn+vInsertedCount1].Changes[j].ViewGroup := vgCard;
end;
inc(vParNumIn, 1);
inc(vParNumOut, 1);
end;
end;
end;
Такой г****код возник не за 1 день. Голову пришлось поломать основательно :))
Комментарии убраны, дабы не портить удовольствие от прочтения.
+18.3
if( strncmp("ERROR: Unable to service request",msg.data, strlen("Unable to service request")) == 0 )
return 1;
if( strncmp("ERROR: (201) Unable to service request",msg.data, strlen("(201) Unable to service request")) == 0 )
return 1;
if( strncmp("ОШИБКА: (201) Невозможно обработать запрос.",msg.data, strlen("(201) Невозможно обработать запрос.")) == 0 )
return 1;
if( strncmp("ERROR: (201) Невозможно обработать запрос",msg.data, strlen("(201) Невозможно обработать запрос.")) == 0 )
return 1;
+51.9
set_include_path( dirname(__FILE__) . DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'libs'
. PATH_SEPARATOR . dirname(__FILE__) . DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.
'libs'.DIRECTORY_SEPARATOR.'doctrine'.DIRECTORY_SEPARATOR.'lib'
. PATH_SEPARATOR . dirname(__FILE__) . DIRECTORY_SEPARATOR.'..'.
DIRECTORY_SEPARATOR.'libs'.DIRECTORY_SEPARATOR.'doctrine'.DIRECTORY_SEPARATOR
. PATH_SEPARATOR . dirname(__FILE__) . DIRECTORY_SEPARATOR.'..'.
DIRECTORY_SEPARATOR.'libs'.DIRECTORY_SEPARATOR.'doctrine'.DIRECTORY_SEPARATOR.
'tests'.DIRECTORY_SEPARATOR.'DoctrineTest'
. PATH_SEPARATOR . dirname(__FILE__) . DIRECTORY_SEPARATOR.'..'.
DIRECTORY_SEPARATOR.'libs'.DIRECTORY_SEPARATOR.'doctrine'.DIRECTORY_SEPARATOR.
'tests'
. PATH_SEPARATOR . dirname(__FILE__) . DIRECTORY_SEPARATOR.'..'
. PATH_SEPARATOR . dirname(__FILE__) . DIRECTORY_SEPARATOR.'Model'
. PATH_SEPARATOR . dirname(__FILE__) . DIRECTORY_SEPARATOR.'Model'.DIRECTORY_SEPARATOR.'BaseClasses'
. PATH_SEPARATOR . dirname(__FILE__) . DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'libs'.DIRECTORY_SEPARATOR.'smarty'
. PATH_SEPARATOR . dirname(__FILE__) . DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR
. PATH_SEPARATOR . dirname(__FILE__) . DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'libs'.DIRECTORY_SEPARATOR.'jsPacker'
. PATH_SEPARATOR . dirname(__FILE__) . DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'libs'.DIRECTORY_SEPARATOR.'FirePHPLibrary'.DIRECTORY_SEPARATOR.'lib'
. PATH_SEPARATOR . get_include_path());