1. Лучший говнокод

    В номинации:
    За время:
  2. JavaScript / Говнокод #7990

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    // ==UserScript==
    // @name	govnokod.ru new comments mark
    // @namespace	('__'X)
    // @description	govnokod.ru new comments mark for Ctrl+F
    // @include	http://*.govnokod.ru/*
    // @include	http://govnokod.ru/*
    // ==/UserScript==
    
    function addNewMark()
    {
    var	i, d = document.getElementsByTagName('div');
    	for (i in d) if (d[i].className == 'entry-comment-wrapper new')
    	{
    		d[i].getElementsByTagName('p')[0].getElementsByTagName('a')[1].innerHTML += 'new';
    	}
    }
    
    if (location.hostname.match(/govnokod\.ru$/))
    {
    	if (document.addEventListener)
    	{
    		document.addEventListener('DOMContentLoaded', addNewMark(), false);
    	} else {
    		window.addEventListener('load', addNewMark(), false);
    	}
    }
    //* OR
    //* 1) Copypaste into browser @field: javascript:var i,d=document.getElementsByTagName('div');for(i in d)if(d[i].className=='entry-comment-wrapper new')d[i].getElementsByTagName('p')[0].getElementsByTagName('a')[1].innerHTML+='new';void(0);
    //* 2) Ctrl+F for '#new'

    Накидал только что. Помечает новые посты меткой "#new", можно контролэфить.
    Работает только для страниц отдельных ГК, в том числе из мусорки.
    Треды до полсотни комментов можно и так оглядеть, если больше - открываю отдельно.
    Но всё равно стоит добавить фичу на стороне сервера.

    ej, 26 Сентября 2011

    Комментарии (27)
  3. PHP / Говнокод #7839

    +169

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <!--CAPCHA-->
    <?php
    	$input = array ("0283", "0830", "1541", "3510", "7269", "0110", "2500", "4998", "7203", "9480", 
       				"1540", "1581", "1891", "0064", "0128", "0256", "0512", "1024", "2048", "4096");
    	$rand_keys = array_rand($input);
    	$img = $input[$rand_keys];
    	$_SESSION['img'] = $img;
    	print ("<img src=\"/images/$img.gif\">");	
    ?>
    <!--CAPCHA answer-->

    уже было подобное, но я не удержался.... )))

    realsugar, 12 Сентября 2011

    Комментарии (27)
  4. PHP / Говнокод #7814

    +161

    1. 1
    $period = in_array($bullRegionId,array_keys($periods)) ? $periods[$bullRegionId]['text'] : $periods['default']['text'];

    Интересна сама проверка на существование ключа, не правда ли? :-)
    Код мой. Коллега учуял, что от него несколько плохо пахнет и предложил запостить сюда))

    Nemoden, 09 Сентября 2011

    Комментарии (27)
  5. Куча / Говнокод #7654

    +135

    Пони

    TheHamstertamer, 25 Августа 2011

    Комментарии (27)
  6. PHP / Говнокод #7635

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if($_SESSION['use_test_xml'] && false) {
    		if(!responseTestXml('chekin_'.$_GET['userid'].'_'.( ($_GET['placeid']) ? $_GET['placeid'] : $_GET['eventid'] ).'.xml')) {
    			responseTestXml('err.xml',array('message'=>'Unxpected situation. Please use these users: 12345,54321 and places|events: 1-9.'));
    		}
    	} else {
    ...

    плеать...

    realsugar, 24 Августа 2011

    Комментарии (27)
  7. JavaScript / Говнокод #7528

    +175

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    if (last=="ня") {new_name=name[0].substring(0, name[0].length-2) + 'ни';}
     if (last=="др") {new_name=name[0].substring(0, name[0].length-2) + 'дра';}
     if (last=="та") {new_name=name[0].substring(0, name[0].length-2) + 'ты';}
     if (last=="лл") {new_name=name[0].substring(0, name[0].length-2) + 'лла';}
     if (last=="ия") {new_name=name[0].substring(0, name[0].length-2) + 'ии';}
     if (last=="ан") {new_name=name[0].substring(0, name[0].length-2) + 'ана';}
     if (last=="ся") {new_name=name[0].substring(0, name[0].length-2) + 'си';}
     if (last=="ий") {new_name=name[0].substring(0, name[0].length-2) + 'ия';}
     if (last=="ма") {new_name=name[0].substring(0, name[0].length-2) + 'мы';}
     if (last=="ас") {new_name=name[0].substring(0, name[0].length-2) + 'аса';}
     if (last=="ья") {new_name=name[0].substring(0, name[0].length-2) + 'ьи';}
     if (last=="ря") {new_name=name[0].substring(0, name[0].length-2) + 'ри';}
     if (last=="ка") {new_name=name[0].substring(0, name[0].length-2) + 'ки';}
     if (last=="ра") {new_name=name[0].substring(0, name[0].length-2) + 'ры';}
     if (last=="на") {new_name=name[0].substring(0, name[0].length-2) + 'ны';}
     if (last=="ша") {new_name=name[0].substring(0, name[0].length-2) + 'ши';}
     if (last=="тя") {new_name=name[0].substring(0, name[0].length-2) + 'ти';}
     if (last=="ис") {new_name=name[0].substring(0, name[0].length-2) + 'иса';}
     if (last=="сю") {new_name=name[0].substring(0, name[0].length-2) + 'сю';}
     if (last=="га") {new_name=name[0].substring(0, name[0].length-2) + 'ги';}
     if (last=="ля") {new_name=name[0].substring(0, name[0].length-2) + 'ли';}
     if (last=="ек") {new_name=name[0].substring(0, name[0].length-2) + 'ька';}
     if (last=="ёк") {new_name=name[0].substring(0, name[0].length-2) + 'ька';}
     if (last=="ян") {new_name=name[0].substring(0, name[0].length-2) + 'яна';}
     if (last=="ай") {new_name=name[0].substring(0, name[0].length-2) + 'ая';}
     if (last=="ав") {new_name=name[0].substring(0, name[0].length-2) + 'ава';}
     if (last=="жа") {new_name=name[0].substring(0, name[0].length-2) + 'жи';}
     if (last=="ей") {new_name=name[0].substring(0, name[0].length-2) + 'ея';}
     if (last=="ор") {new_name=name[0].substring(0, name[0].length-2) + 'ора';}
     if (last=="ей") {new_name=name[0].substring(0, name[0].length-2) + 'ея';}
     if (last=="ак") {new_name=name[0].substring(0, name[0].length-2) + 'ака';}
     if (last=="ох") {new_name=name[0].substring(0, name[0].length-2) + 'оха';}
     if (last=="ег") {new_name=name[0].substring(0, name[0].length-2) + 'ега';}
     if (last=="на") {new_name=name[0].substring(0, name[0].length-2) + 'ны';}
     if (last=="ик") {new_name=name[0].substring(0, name[0].length-2) + 'ика';}
     if (last=="ес") {new_name=name[0].substring(0, name[0].length-2) + 'еса';}
     if (last=="юн") {new_name=name[0].substring(0, name[0].length-2) + 'юна';}

    склонения фамилий и имён Оо

    substr, 12 Августа 2011

    Комментарии (27)
  8. PHP / Говнокод #7326

    +164

    1. 1
    2. 2
    3. 3
    <a href="?page=news" <?php if (isset($_GET['page'])) if ($_GET['page']=='news') echo 'class="active"' ?> >Новости</a>
    <a href="?page=photo" <?php if (isset($_GET['page'])) if ($_GET['page']=='photo') echo 'class="active"' ?> >Фото</a>
    <a href="/" <?php if (isset($_GET['page'])); else echo ' class="active"'?> >Главная</a>

    Подсветка той ссылки, на которой сейчас находишься (присвоение класса active).
    Проверка if (isset($_GET['page'])) сделана для того, чтобы PHP не ругался на то, что page не передан (такое происходит при переходе на главную).

    opex_jr, 23 Июля 2011

    Комментарии (27)
  9. JavaScript / Говнокод #7222

    +176

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function isValid()
    {
    	if ($('#emailinput').val() == 'ваш@электронный.адрес')
    	{
    		box('Это не ваш электронный адрес!');
    		return false;
    	}

    http://apokalipsis-2012.ru/

    This is obvious, 11 Июля 2011

    Комментарии (27)
  10. C++ / Говнокод #7149

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    #include <iostream>
    using namespace std;
    
    int main () {
      for( struct {int i; long i2;} x = {1, 1};
           x.i2 <= 100;
           x.i++, x.i2 = x.i * x.i ) {
        cout << x.i2 << endl;
      }
      return 0;
    }

    Поскольку реального ГК нет, добавлю синтетического.
    NB: Под MSVC такое не пройдет. g++ - ok: http://codepad.org/JesKsnMQ

    http://jia3ep.blogspot.com/2010/07/struct-in-for-loop.html

    Aleskey, 04 Июля 2011

    Комментарии (27)
  11. Pascal / Говнокод #7095

    +89

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    // qsort.inc:
    procedure SortRow(var A: array of T);
    
      procedure sort(l,r: integer);
      var
        i,j: integer;
        x,y: T;
      begin
        i := l;
        j := r;
        x := a[random(r-l+1)+l];
        repeat
          while LESS(a[i],x) do inc(i);
          while LESS(x,a[j]) do dec(j);
          if i<=j then begin
            y    := a[i];
            a[i] := a[j];
            a[j] := y;
            inc(i);
            dec(j);
          end;
        until i>=j;
        if l<j then sort(l,j);
        if i<r then sort(i,r);
      end;
    
    begin
      Sort(Low(A), High(A));
    end;
    
    // unit1.pas
      T = TPoint;
      function LESS(const a,b: T): boolean;
      begin
        result := a.x<b.x;
      end;
      {$I qsort.inc}
    
    var 
      a: array of TPoint;
    begin  
      ...
      SortRow(a);
      ...
    end;

    Я использую шаблоны в Дельфи-7 ололо.

    TarasB, 28 Июня 2011

    Комментарии (27)