-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+142
- 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
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
if( gm !== null ) {
group = 'grid';
stp = this.options.step;
gsc = stp.split('|');
st = 0;
for( var gstp in gsc ) {
data = ( this.resolution( gsc[st] ) !== null ) ? this.resolution( gsc[st] ) : data;
$.Storage.set( group, data );
st++;
}
}
unify = ( this.options.debug === true ) ? '?' + Math.floor( Math.random( 1, 30 ) * 200 ) : '';
// construct DOM & switchers
this.builder( gm, gsc, data, cntwrp, itmwrp, group, unify, pl, sp, st );
// on-ready activation
if( data !== undefined ) this.activation( data, group );
//switch engine
$('li', '.switcher').click(function( e ) {
t = $(this).attr('data-st');
g = $(this).attr('data-gr');
//clear
$('link[data-gr="'+ g +'"]', 'head').attr('rel','fake');
$('li', '.switcher[data-gr="'+ g +'"]').removeClass('activ');
//set
$('link[data-st='+ t +']','head').attr('rel', 'stylesheet');
$(this).addClass('activ');
$.Storage.set( g, t );
e.preventDefault();
});
Plugin.prototype.builder = function ( gm, gsc, data, cntwrp, itmwrp, group, unify, pl, sp, st ) {
itms = lnks = '';
x = 0;
for( i = 1; i <= st; i++ ) {
if( group === 'grid' ) {
href = sp + gsc[x] +'.css'+ unify;
idm = gsc[x];
x++;
}
else {
href = sp +'st'+ i +'.css'+ unify;
idm = 'st'+ i +'_'+ group;
}
lnks += '<link href="'+ href +'" rel="fake" media="screen" data-st="'+ idm +'" data-gr="'+ group +'" />';
itms += '<'+ itmwrp +' id="'+ idm +'" data-gr="'+ group +'" data-st="'+ idm +'"'+'>'+'['+ i +']'+'</'+ itmwrp +'>';
}
$('head').append(lnks);
if( cntwrp === null ) { // independent block
cntwrp = $('<div style="display: inline" id="inline_merge_'+ group +'"></div>');
}
if( gm !== 'auto' ) {
$(pl).append( cntwrp );
cntwrp.attr({ 'class': 'switcher', 'data-gr': group }).html( itms );
}
}
// Plugin logic wrapper
$.fn[pluginName] = function ( options ) {
return this.each(function () {
if (!$.data(this, 'plugin_' + pluginName)) {
$.data(this, 'plugin_' + pluginName,
new Plugin( this, options ));
}
});
}
Я убил 84 человека ... Я пидарас ;) Звук ебаный ублюдок, пидор и гнида всем составом до последнего вздоха, капли пота и копейки в его кармане ... Он должен мне over 30 000 000 $, которые прокукарекал в результате наезда и остался конченным пидрилой всем составом ... Аминь, я полный Лох( это по Японским понятиям ). Я никогда бы не подумал, что пидорами были все президенты этой великой державы, все дупутаты, гос. дума и те, кто имел честь с ними "сотрудничать". Я люблю Россию, мне жалко пидоров и звук ;) Помимо прочего это до сих пор работает ... Подвел jQuery из-за AJAX.
Full version: https://github.com/x029ah/style-switch/blob/master/scripts/jquery.cssSwitcher.js
Сайты удалили, бабу изнасиловали, мусоров купили, а пидоры до сих пор кукарекают. Поздравляю всех выживших. Говном вы не были -- говном вы стали ;)
Stealth,
24 Сентября 2013
-
+130
- 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
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
Program KrestZero;
...
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
case m[arow,acol]of
1: DrawGrid1.Canvas.Draw(acol*81,arow*81 ,bmpkrest);
0: DrawGrid1.Canvas.Draw(acol*81,arow*81 ,bmpfon);
2: DrawGrid1.Canvas.Draw(acol*81,arow*81 ,bmpnul);
end;
end;
function win:boolean;
var a:byte;
begin
result:=false;
k:=0;
for I := 0 to 2 do
if m[0,i]=a then k:=k+1;
if k=3 then begin result:=true; exit; end;
end;
procedure TForm1.DrawGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
acol,arow:integer;
begin
DrawGrid1.MouseToCell(x,y,acol,arow);
if (m[arow,acol]<>0) then
ShowMessage('Нельзя!')
else
begin
inc(hod);
if hod mod 2 =1 then m[arow,acol]:=1
else m[arow,acol]:=2;
if win then ShowMessage('Победа!');
end;
end;
procedure TForm1.FormShow(Sender: TObject);
var i,j:byte;
begin
bmpkrest:=TBitmap.Create;
bmpkrest.LoadFromFile('krest.bmp');
bmpfon:=TBitmap.Create;
bmpfon.LoadFromFile('fon.bmp');
bmpnul:=TBitmap.Create;
bmpnul.LoadFromFile('nol.bmp');
for i:=0 to 2 do
for j:=0 to 2 do
m[i,j]:=0;
hod:=0;
end;
А вот так, товарищи, кодит препод в одной из шаражек в нашем родном Владикавказе.
В коде ничего не менял - выложил, как есть.
Одно только название - krestzero уже поднимает давление настроение.
Stertor,
15 Сентября 2013
-
+130
Смотрю с утра в код, а там жопа.
KostylMaster,
15 Августа 2013
-
+122
- 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
- 40
- 41
- 42
- 43
#if defined(REG_R1) && !defined(NO_GLOBAL_REG_DECLS)
GLOBAL_REG_DECL(StgUnion,R1,REG_R1)
#else
# define R1 (BaseReg->rR1)
#endif
#if defined(REG_R2) && !defined(NO_GLOBAL_REG_DECLS)
GLOBAL_REG_DECL(StgUnion,R2,REG_R2)
#else
# define R2 (BaseReg->rR2)
#endif
#if defined(REG_R3) && !defined(NO_GLOBAL_REG_DECLS)
GLOBAL_REG_DECL(StgUnion,R3,REG_R3)
#else
# define R3 (BaseReg->rR3)
#endif
#if defined(REG_R4) && !defined(NO_GLOBAL_REG_DECLS)
GLOBAL_REG_DECL(StgUnion,R4,REG_R4)
#else
# define R4 (BaseReg->rR4)
#endif
#if defined(REG_R5) && !defined(NO_GLOBAL_REG_DECLS)
GLOBAL_REG_DECL(StgUnion,R5,REG_R5)
#else
# define R5 (BaseReg->rR5)
#endif
#if defined(REG_R6) && !defined(NO_GLOBAL_REG_DECLS)
GLOBAL_REG_DECL(StgUnion,R6,REG_R6)
#else
# define R6 (BaseReg->rR6)
#endif
#if defined(REG_R7) && !defined(NO_GLOBAL_REG_DECLS)
GLOBAL_REG_DECL(StgUnion,R7,REG_R7)
#else
# define R7 (BaseReg->rR7)
#endif
...
Исходник GHC
https://github.com/ghc/ghc/blob/master/includes/stg/Regs.h#L147
j123123,
27 Июля 2013
-
+154
- 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
$zak=$row['content'];
$ret=$ret.'<td>';
$p_ret=array();
$t_zak=explode('{',$zak);
$t_c=count($t_zak)-2;
//------------------------------------------
for($t_i=0;$t_i<$t_c;$t_i++){
$zak=$t_zak;
$zak=explode('}',$zak[$t_i+2]);
$zak=explode(';',$zak[0]);
$p_zak=array();
$c=(int)floor(count($zak)/2);
$c=(int)($c*2);
for($i=0;$i<$c;$i=$i+2){
$temp=explode(':',$zak[$i]);
$ind=str_replace('"','',$temp[count($temp)-1]);
$temp=explode(':',$zak[$i+1]);
$val=str_replace('"','',$temp[count($temp)-1]);
$p_zak[$ind]=$val;
}
$p_zak['id']=(int)$p_zak['id'];
//[count] => 3 [id] => 21 [name] => Стул [price] => 213454
$p_ret[]='<a href="[[~'.$p_zak['id'].']]">'.$p_zak['name'].'</a> '.$p_zak['count'].' шт.';
После модернизации одного из Интернет магазинов сломался личный кабинет ( MODX Revolution, Shopkeeper ).
Начал изучать и понял, что прошлый программист изобрел заново unserialize.
Rostov114,
14 Июня 2013
-
+113
- 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
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Pause extends JFrame{
private int MAX;
private static String s;
Pause(){
this.setSize(300, 300);
this.setVisible(true);
}
public void text(String s, final Thread t){
try {
t.wait();
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
JLabel l = new JLabel(s);
l.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
t.notify();
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
});
this.add(l);
}
public int getMAX() {
return MAX;
}
public void setMAX(int mAX) {
MAX = mAX;
}
public String getS() {
return s;
}
public void setS(String s) {
this.s = s;
}
public void appendS(String s) {
this.s += s;
}
public static void main(final String[] args){
final Pause p = new Pause();
final Thread t = new Thread(new Runnable() {
public void run() {
for (int i = 0; i < p.getMAX(); ++i){
p.appendS(i + " ");
if (i+2 <= p.getMAX()){
p.text(s, t); //error
}
}
}
});
t.start();
}
}
Прислала подруга, изучающая потоки в Java, с просьбой подсказать, почему выдаётся ошибка компиляции при использовании переменной t внутри run.
Придётся объяснять, что в этом коде неправильно вообще всё, от первой до последней строки...
someone,
03 Мая 2013
-
−113
- 1
- 2
- 3
- 4
+ (BOOL) isInteger:(CGFloat) number
{
return number - (int) number<0.0001;
}
В классе используется только ради того, чтобы при передаче нецелого флоата вывести километровый NSLog, в котором долго жаловаться на жизнь и полпикселя.
Xtasy,
10 Апреля 2013
-
+125
- 1
- 2
- 3
- 4
void get_me(const char **retval)
{
*retval = "Hello, Word!";
}
Надейся на компилятор...
Novi4oK,
16 Февраля 2013
-
+130
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
#include <stdlib.h>
struct no_matter
{
int some_field;
};
struct matter *do_stuff(void)
{
struct no_matter *m = calloc(1, sizeof *m);
return m;
}
int main(void)
{
struct no_matter *m = do_stuff();
free(m);
return 0;
}
Сегодня выполняю роль гумна. В сишке можно возвращать указатель на непонятно откуда взявшуюся необъявленную ранее структуру и код будет компиляться (ладно хоть пишет невнятные ворнинги, только благодаря им нашёл опечатку в одной букве в имени структуры в рабочем коде). Понятно, что все указатели одинаково числа, но всё равно как-то некрасиво. Хацкелисты негодуэ, даёшь монаду Ptr
http://ideone.com/3SABHW
roman-kashitsyn,
27 Ноября 2012
-
+15
- 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
#include <iostream>
#include <functional>
template<class Container, class F, class A>
auto accumulate(Container c, F f, A acc) -> A
{
auto id = [](const A& a) -> const A& {return a;};
typedef decltype(std::begin(c)) Iterator;
const std::function<A(const Iterator& lst, const std::function<A(const A&)>&)> doIt =
[&](const Iterator& lst, const std::function<A(const A&)>& cont) -> A
{
if(lst==c.end())
return cont(acc);
else
{
auto conter=[&](const A& acc) -> A {return cont(f(*lst, acc));};
return doIt(lst+1, conter);
}
};
return doIt(std::begin(c), id);
}
int main() {
std::cout<<accumulate({1,2,3,4}, std::plus<int>(), 0);
return 0;
}
Похоже написал какой-то монадолог.
http://ideone.com/y4Dm9z
Пример использования accumulate сам накатал.
Я побаловался с этим примером, чтобы разобраться и GCC ожидаемо упал:
http://ideone.com/XWfuoP
Я убежден, что эта функция должна была выглядеть как-то так:
template<class Container, class F>
accumulate(const Container& c, const F& f=std::plus<decltype(*(std::begin(c)))>(), const decltype(*(std::begin(c))) acc=decltype(*(std::begin(c)))()) -> decltype(*(std::begin(c)))
{
return std::accumulate(c.begin(), c.end(), acc, f);
}
//Вызов этой функции:
accumulate({1,2,3,4});
Ну и я погуглил на тему этого говнокода и нашел на функциональном языке похожий:
let fold_right func acc list =
let rec loop list cont = //сюда мы передаем текущую функцию континуации
match list with
|[] -> cont acc //а вот и наше ключевое вычисление.
|head::tail -> loop tail (fun racc -> cont (func head racc))
loop list (fun x -> x)
LispGovno,
23 Ноября 2012