- 1
- 2
return DSQR(a.r) + DSQR(a.i);
return fabs(a.r) + fabs(a.i);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+151.8
return DSQR(a.r) + DSQR(a.i);
return fabs(a.r) + fabs(a.i);
Пример говроретурна одной из моих функций в дипломном проекте на Си. Я собрал несколько вариантов программы, комментируя в различных местах различные return такого вида, как сейчас представлено выше.
DSQR() -- это макрос возведения в квадрат из numericalrecepies. Там вся программа на основе "рецептного" кода.
−129.2
def true_or_nil bool
!!bool || nil
end
−370.1
id |sed "s/^[^(]*(\([^)]*\)).*/\1/"
Воссоздал прямо щас, не ручаюсь, что выражение в точности такое, но очень близко.
+99.9
procedure TConsFrame.FillConsGrid(ConsHistory: TConsumptionHistory;
Date: TDateTime);
var
I: Integer;
begin
for I := 0 to ConsHistory.Count - 1 do
begin
if not (TConsumptionRecord(ConsHistory[I]).State = osDeleted) then
if DateOf(TConsumptionRecord(ConsHistory[I]).Date) = DateOf(Date) then
if ((not FIsSelTime) or
(FIsSelTime and (FSelTime = FormatDateTime('HH:mm', TConsumptionRecord(ConsHistory[I]).Date)))) then
if ((not FIsSelName) or (FIsSelName and (pos(FSelName, TProduct.TGlobalCollection.Products.RecursiveGetNodeByID(TConsumptionRecord(ConsHistory[I]).IDProduct)).Name) > 0))) then
ConsGrid.AddChild(nil, ConsHistory[I]);
end;
end;
Чтобы это безобразие написать пришлось студию на два монитора раздвинуть =)))
И то ладно еще что на 4 проверки разбил - а то в одной вообще страшно было. Потом как оказалось у меня в цикле идет вызов рекурсивной процедуры, короче все виснет. Так что это безобразие в контексте моей программы оказалось еще и бесолезным %)
−867.3
SQL> select c.DATA_TYPE
2 from all_tab_columns c
3 where c.TABLE_NAME='FND_FORM_CUSTOM_ACTIONS'
4 and c.COLUMN_NAME='PROPERTY_NAME'
5 /
DATA_TYPE
--------------------------------------------------------------------------------
NUMBER
SQL>
Неожиданно, неправда ли ?
табличка из OEBS Release 12
+135.9
StiReport report = // создание отчета StimulSoft Reporter
// . . . . .
// . . . . .
string tempfilename = System.Guid.NewGuid().ToString() + ".tmp";
report.ExportDocument(StiExportFormat.Word2007, tempfilename); //позволяет конвертировать отчет только в поток
FileStream stream = new FileStream(tempfilename, FileMode.Open);
byte[] reportFile = new byte[stream.Length];
stream.Read(reportFile, 0, (int)stream.Length);
stream.Close();
File.Delete(tempfilename);
if (reportFile.Length > 0)
if (MessageBox.Show("Зберегти друковану форму?", "Запит", MessageBoxButtons.OKCancel) == DialogResult.OK)
WriteToDB(reportFile, "Документ.docx");
+65.2
function kub1
parameters kod
dimension a(16),b(16)
for i=16 to 1 step -1
a(i)=mod(kod,10)
kod=kod/10
kod=int(kod)
endfor
for i=1 to 16 step 1
if a(i)=0
else
n=i
exit
endif
endfor
for i=n to 16 step 1
b(i-(n-1))=a(i)
endfor
k=b(5)
return k
В принципе, пример относится к FoxPro, но так как я не обнаружил его в списке доступных языков при добавлении говнокода, пришлось остановиться на "куче" :) Наткнулся на этот фрагмент недавно при исследовании чужого исходника под Visual Foxpro. Привожу его в первозданном (с учетом форматирования) виде. Весь фрагмент можно было бы заменить на какое-нибудь
FUNCTION kub1
PARAMETERS kod
RETURN SUBSTR(ALLT(STR(kod)),5,1)
но автор, видимо, счел нужным не упрощать себе жизнь :)
ps. Кстати, а как тут в описании код культурно отформатировать ? А то у меня тоже всё влево съехало :)
+138.7
Что бы познать рекурсию надо познать рекурсию.
−303.1
(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
)+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:
\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(
?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[
\t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0
31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\
](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+
(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:
(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)
?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\
r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[
\t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)
?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t]
)*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[
\t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*
)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
)+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)
*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+
|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r
\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:
\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t
]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031
]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?
:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?
:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?
:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?
[ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\]
\000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|
\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>
@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"
(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t]
)*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?
:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[
\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-
\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(
?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;
И в том же духе еще 43 строки. Регулярное выражение для проверки емейл адреса. Все на полном серьезе и в соответствии со стандартом. Взято отсюда http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html
+50.7
namespace inter {
template<typename X>
struct tplClass {
private:
X _priv;
public:
tplClass(const X _generator) {
this->_priv = _generator;
return;
}
tplClass(const tplClass<int>& _a) {
this->_priv = _a.get();
return;
}
const X get(void) const {
return this->_priv;
}
};
template<typename X>
const tplClass<X> operator+(const tplClass<X>& _lha, const tplClass<X>& _rha) {
return tplClass<X>(_lha.get()+_rha.get());
}
}
int main(int argc, char* args[], char* envs[]) {
tplClass<int> a(5);
tplClass<double> b(3.1);
tplClass<double> c = a + b;
return 0;
}
1. Всё упрощено до невозможности. Описано только то, что необходимо для узрения говнокода.
2. Несмотря на то, что решение существует в очень известной книжке, я напоролся на говнокод лично, пока программу писал. Искал несколько дней проблему... Ну да... Бывает...
3. Говнокод заключается в том, что данный код не компилируется.
P.S. Если видите, что где-то есть дыра, то говорите, возможно я опечатался (злобная администрация исправить не даст), возможно в данном коде плюг опущен, возможно дыра у меня в голове. Конструктивная критика приветствуется.
P.P.S. Если вы решили просто написать, что (C++ == "говно") is true , то, пожалуйста, прошу вас как людей порядочных и воспитанных, имеющих совесть и ум, пройдите мимо. Если у вас нит ни ума, ни совести, ни порядочности, то можете писать про "естественную говнистость" C++, милости прошу.