-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+136
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
int CheckError( TStatusMessage* ctrl )
{
if( !ctrl ) return 1;
if(ctrl->request>40) return 1;
if(ctrl->prm.radiation!=ctrl->prm.aradiation) return 1;
if(ctrl->prm.pulse!=ctrl->prm.apulse) return 1;
if(ctrl->prm.frequency!=ctrl->prm.afrequency)
{
if( (ctrl->prm.frequency&2) != (ctrl->prm.afrequency&2) )
{
return 1;
}
}
if(ctrl->prm.autotune==ctrl->prm.aautotune) return 1;
if(ctrl->prm.antenna==ctrl->prm.aantenna) return 1;
if(ctrl->prm.blanking!=ctrl->prm.ablanking) return 1;
if(ctrl->prm.vob!=ctrl->prm.avob) return 1;
return 0;
}
Проверка на наличие ошибки.
absolut,
22 Ноября 2010
-
+139
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
FILE *ConfigFile = NULL;
char *workdir = NULL;
workdir=getenv("APP_WORKDIR");
if ((NULL!=workdir) && (NULL != (ConfigFile = fopen(strcat(workdir,"appname/config.xml"), "r"))))
{
fclose(ConfigFile);
workdir[strlen(workdir)-10] = '\0';
setenv("APP_RESOURCE_DIR", workdir , 1);
}
вот так нужно указывать крутой библиотеке, любимому и незаменимому детищу нашего R&D, читать файл из другой директории.
и вот такое было закопипащено в 4 приложений....
Dummy00001,
19 Ноября 2010
-
+160
- 1
- 2
- 3
- 4
- 5
for( int b = 0; b < cntblocket; ++b )
{
delete msrLst[b]->record;
delete msrLst[b]->record;
}
Сразу вспоминается: "- А зачем у вас тут два одинаковых jump'а стоять? - А вдруг один не сработает?"
Видимо, совсем не выспался программист ;)
ftptrash,
13 Ноября 2010
-
+95
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
program z1;
function func (x: real): real;
const e = 0.000000000000001; {15 знаков после запятой}
var f: real; {переменая для расчета двойного факториала}
i, k: integer; {счетчик проходов, i-общий, k-частный}
d: real; {добавляемая дельта}
y: real; {переменная искомого значения}
begin
y := 1.0;
i := 1;
repeat
f := 1; {----------}
k := i; {--расчет--}
while (k >= 2) do begin {-двойного-}
f := f * k; {факториала}
k := k - 2; {----------}
end; {----------}
d := 1; {---------------------}
for k := 1 to i do {считаем степень числа}
d := d * x; {---------------------}
d := d / f; {-----------------находим d-----------------}
if (d < e) then break; {проверяем ее на попадание в разрядную сетку}
y := y + d;
i := i + 1;
until (false);
func := y;
end;
var x: real;
begin
write ('Введите x: ');
readln (x);
writeln ('y = ', func (x):3:15);
end.
maksim_ovcharik,
09 Ноября 2010
-
+127
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
public static int[] filtrs;
public string filtrStr;
public double ProizvDO;
public double ProizvOT;
public double SprosDO;
public double SprosOT;
public double StXranDO;
public double StXranOT;
public double WtrafDO;
public double WtrafOT;
public double OtDo
{
get
{
return ProizvOT;
return ProizvDO;
return SprosOT;
return SprosDO;
return StXranOT;
return StXranDO;
return WtrafOT;
return WtrafDO;
}
}
Да, это лаба какого-то студента. Но тем не менее смешно.
P.S. Взято с www.cyberforum.ru
psina-from-ua,
30 Октября 2010
-
+161
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
/* Fade-In Page script ©2008 John Davenport Scheuer
As first seen in http://www.dynamicdrive.com/forums/
username:jscheuer1 - This credit must remain for legal use.
*/
fadeInPage.speed=15; //Set speed of transition for non-IE, lower numbers are faster, 20 is the minimum safe value
fadeInPage.bg='#000'; //Set backgroud style (color or color and image) of transition division for non-IE, should match page background or the predominant color of the page
///////////////// Stop Editing /////////////////
function fadeInPage(){
var el=document.getElementById("fadeDiv");
el.style[fadeInPage.prprt] = el.style[fadeInPage.prprt] == ''? 1 : el.style[fadeInPage.prprt];
if (el.style[fadeInPage.prprt] > 0){
el.style[fadeInPage.prprt] = el.style[fadeInPage.prprt] - 0.02;
setTimeout("fadeInPage()", fadeInPage.speed);
}
else {
el.style[fadeInPage.prprt] = 0;
if(document.removeChild)
el.parentNode.removeChild(el);
}
}
if(document.documentElement&&document.documentElement.style){
fadeInPage.d=document.documentElement, fadeInPage.t=function(o){return typeof fadeInPage.d.style[o]=='string'};
fadeInPage.prprt=fadeInPage.t('opacity')? 'opacity' : fadeInPage.t('MozOpacity')? 'MozOpacity' : fadeInPage.t('KhtmlOpacity')? 'KhtmlOpacity' : null;
}
fadeInPage.set=function(){
var prop=fadeInPage.prprt=='opacity'? 'opacity' : fadeInPage.prprt=='MozOpacity'? '-moz-opacity' : '-khtml-opacity';
document.write('\n<style type="text/css">\n#fadeDiv {\nheight:'+window.innerHeight+'px;display:block;position:fixed;'+
'z-index:10000;top:0;left:0;background:'+fadeInPage.bg+';width:100%;\n'+ prop +':1;\n}\n<\/style>\n');
}
if(window.addEventListener&&fadeInPage.prprt){
fadeInPage.set();
window.addEventListener('load', fadeInPage, false);
}
Зашел я на сайт родного биллинга. Не работает. Смотрю - остался слой от fade-in (нахрена он в биллинге).
Открыл исходники сайта и увидел там ЭТО.
Отступы авторские. Очень радует "document.write('\n<style" в цикле.
m1el,
29 Октября 2010
-
−84
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
If Not CheckX Then Goto 1
For i = 0 to USecX
Goto 2
1:
For i2 = 0 to USecY
2:
...
If CheckX Then Goto 3
Next
If Not CheckX then Goto 4
3:
Next
4:
Как-то потребовалось выполнить немалый участок кода, но в двух разных случаях нужно было использовать два разных фора. В отдельную процедуру было очень неудобно выносить (пришлось бы передавать слишком много переменных), так что пришлось сделать этот... свичджампинг форов :)
DragDen,
28 Октября 2010
-
+163
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
LPBYTE OUTBUFF = NULL;
DWORD BUFFSIZE = 0;
...
int pgp_res = m_pgp.EncodeBuff2Buff(
( LPCVOID ) ( LPCTSTR ) post_data.c_str(),
( DWORD ) post_data.length(),
OUTBUFF,
BUFFSIZE,
( LPCTSTR ) query_mts_cfg().query_crypto_public_key().c_str() );
...
std::string s;
// мы будем рассматривать буфер как строку, а PGPEncode
// естественно не ограничивает буфер нулевым
// символом, поэтому строку из буфера надо
// ограничивать насильно
s = std::string( ( char* ) OUTBUFF );
s = s.substr( 0, BUFFSIZE );
1) Проблема проявилась после 5 лет боевой эксплуатации.
2) Все загодногожено было именно так. Т.е. автор понимал \0, сделал что-то, но все равно с ошибкой.
bsivko,
28 Октября 2010
-
+161
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
if (empty($whatpage)) {
if (empty($catpage)) { $myFile='articles/main.dat';
} else {
if (empty($subcatpage)) { $myFile="articles/$catpage/main.dat";
} else { $myFile="articles/$catpage/$subcatpage/main.dat";
}
}
} else {
if (empty($catpage)) { $myFile="articles/$whatpage.dat";
} else {
if (empty($subcatpage)) { $myFile="articles/$catpage/$whatpage.dat";
} else { $myFile="articles/$catpage/$subcatpage/$whatpage.dat";
}
}
}
$fh = @fopen($myFile, 'r');
if (!$fh) { $myFile='articles/404.dat'; header('Status: 404'); header('HTTP/1.1 404 Not Found'); $fh = @fopen($myFile, 'r'); }
$data = fread($fh, filesize($myFile));
кусок CMS с кучей бесполезной работы повторяющимся кодом и без знания об file_get_contents и file_exists
porese,
27 Октября 2010
-
−199
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
SELECT z.id, z.user_id, z.points_figure, MAX( z.date_practice )
FROM (
SELECT p . * , h.date_practice
FROM practice_update p
INNER JOIN practice_update_history h ON p.history_id = h.id
WHERE p.is_confirmed = 1 OR p.is_updated = 1
order by h.date_practice desc
) z
GROUP BY 2
и это при том что нужно взять последнее "z.points_figure" для юзверя. %)
KiMindfreak,
25 Октября 2010