- 1
#define JUST_ANOTHER_MAGIC_NUMBER 4398476903476060
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+175.9
#define JUST_ANOTHER_MAGIC_NUMBER 4398476903476060
магия чисел
−130
i = 2
X = "blank"
index = ""
qty = "1"
For Each Z In sContents
If (Z.StartsWith("1") Or Z.StartsWith("2") Or Z.StartsWith("3") Or Z.StartsWith("4") Or Z.StartsWith("5") Or Z.StartsWith("6") Or Z.StartsWith("7") Or Z.StartsWith("8") Or Z.StartsWith("9")) Then
Line = Z.Split("|")
If Not Line(0).Contains(".") Then
index = Line(0)
qty = 1
End If
If Line(1).StartsWith("ID") Then
X = Line(3).Substring(15)
qty = Line(4)
Else
sheet.Cells(i, 1) = Line(2)
sheet.Cells(i, 2) = Line(3)
If Line(2) = X Then
sheet.Range("B" & i).Font.Bold = True
Else
If Line(0).StartsWith(index & ".") Then
sheet.Range("B" & i).IndentLevel() = 1
End If
End If
If Not Line(0).Contains(".") Then
sheet.Range("B" & i).Font.Bold = True
End If
If Line(5) = "N/A" Then
sheet.Cells(i, 3) = 0
Else
sheet.Cells(i, 3) = Line(5)
End If
sheet.Range("C" & i).NumberFormat = "[$$-2409]#,##0.00"
sheet.Cells(i, 4) = Line(7)
If qty > 1 Then
sheet.Cells(i, 5) = Line(4) * qty
Else
sheet.Cells(i, 5) = Line(4)
End If
sheet.Cells(i, 6) = "=E" & i & "*C" & i
sheet.Range("F" & i).NumberFormat = "[$$-2409]#,##0.00"
sheet.Range("D" & i, "E" & i).HorizontalAlignment = Excel.Constants.xlCenter
sheet.Range("A" & i, "F" & i).Font.Size = 10
sheet.Range("A" & i, "F" & i).Borders.LineStyle = Excel.Constants.xlSolid
i = i + 1
End If
End If
Next Z
чем не говнокод?
работает, хуле :)
+151
<?php
class A {
function __get($prop) {
var_dump($prop);
$this->$prop = '123';
return null;
}
}
$a = new A;
$prop = '01.01.01';
$a->$prop;
var_dump($a);
−153
sub get_user_xml {
# много не существенного кода
return $self->get_xml($self);
return 0;
}
Двойной
+145
function quit($msg, $output = true){
if($output) die($msg);
return false;
}
Не выдумка. Нашли в реальном проекте
+152
procedure TfmEditAddDet.ControlExit(Sender: TObject);
begin
if Sender Is TEdit then TRIM(TEdit(Sender).Text)
else if Sender Is TMemo then TRIM(TEdit(Sender).Text);
end;
Попытка вызова TRIM как процедуру.
−296.6
this._parent._parent.registerTip(this._parent._parent['area'+this._parent.txtTarget._name.charAt(3)], this.txt.text);
Где-то объявлена функция, которой в качестве одного из параметров надо передать ссылку на мувиклип, который валяется тоже непойми где, и имя которого неочевидным образом вычисляется из имени другого мувиклипа, до которого ещё тоже надо добраться...
+137.5
function get($id,$lang_id)
{
// начнем транзакцию
$bresult=ConnectionManager::begin();
if (!$bresult)
{
ConnectionManager::rollback();
return false;
}
$result=$this->db_main->getTPLRow(QUERY_ADMIN_CELLMETHOD_GET, array('id'=>$id,'lang_id'=>$lang_id));
if (!is_array($result))
{
ConnectionManager::rollback();
return false;
}
/*$operators=$this->db_main->getTPLData(QUERY_ADMIN_CELLMETHOD_OPETATORS_GET, array('id'=>$id));
if (!is_array($operators))
{
ConnectionManager::rollback();
return false;
}
$result['operator'] = $operators;*/
// закончим транзакцию
$cresult=ConnectionManager::commit();
if (!$cresult)
{
ConnectionManager::rollback();
return false;
}
if (count($result))
return $result;
else
return true;
}
Метод получает данные из таблицы. getTPLRow делает выборку из таблицы, обратите внимание, что при этом делается begin, commit и rollback
−140
Public Function fRoundSumma(pDbl As Double) As Double
On Error Resume Next
Dim vStrSum As String
If vFieldRoundSummuDoInt Then
vStrSum = str(pDbl)
If InStr(1, vStrSum, ".5") > 0 Then
If pDbl < 0 Then
fRoundSumma = Abs(Fix(pDbl)) + 1
fRoundSumma = fRoundSumma * (-1)
Else
fRoundSumma = Fix(pDbl) + 1
End If
Else
fRoundSumma = Round(pDbl, 0)
End If
Else
fRoundSumma = Round(pDbl, vFieldRoundDo)
End If
End Function
Такое забавное округление. Из коммерческого проекта :)
+83.5
ret = (func(a, b) == SpecNumber) ? true : false;
if (! ret)
{
ShowError ("Some message", a, b));
}
Обратить внимание на хитрость получения значения ret, а потом как его используют :)