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

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

    +162

    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
    GetFirstFieldWithName(CString szElemName)
    {
        int i = -1;
    
        for (i = 0; i < m_FieldValues.GetSize(); i ++)
        {
            if (m_FieldValues[i]->m_szElemName == szElemName)
                break;
        }
    
        if ((i > 0) && (i < m_FieldValues.GetSize()))
            return m_FieldValues[i];
        else
            return NULL;
    }

    Shumway, 22 Ноября 2010

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

    +165

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    elseif($_POST['step']=="step5"){
    	foreach($_POST['metric_checked'] as $key=>$value){
    		foreach($metrics as $key1=>$v1){
    			foreach($v1 as $key2)		    
    				foreach($value as $metric) 
    					if($key2==$_POST['metric'][$metric])
    						$_SESSION['metrics'][$key1][]=$_POST['metric'][$metric];
    		}
    	}
    }

    1_and_0, 21 Ноября 2010

    Комментарии (6)
  4. C# / Говнокод #4677

    +145

    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
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    using System;
    
    //using System.Collections.Generic; Нафега ани???
    //using System.Linq;
    //using System.Text;
    
    namespace ConsoleApplication5
    {
        class Program
        {
            //Эт типа метад сёрч:)
            public static int[] Search(int[] arr)
            {
                int a = 0; //первае самае бальшое чесло
                int b = 0; //втарое самае бальшое чесло (Бирём n... Мала, нада m)
                for (int i = 0; i < arr.Length; i++) //Фигачем мосив, пака не дафигачим
                {
                    if (arr[i] > a && arr[i] > b) //если нашлося бальшущее чесло, вписуем
                    {
                        if (a < b) //либа в а
                        {
                            a = arr[i];
                        }
                        else if (b < a) //либа в b
                        {
                            b = arr[i];
                        }
                        else //либа тожэ в a
                        {
                            a = arr[i];
                        }
                    }
                }
                int[] ret = { a, b }; //выплёвуем мосивом бальших и ни очинь чисил
                return ret; //да, таки выплёвуем
            }
    
            static void Main(/*string[] args*/) //нах.. вы мне эту фегню впехнуле. Уроды мелкомягкее
            {
                int[] m = { 1, 2, 4, 5, 6, 7, 8, 9 }; //Зодоём мосив
                int[] ret = Search(m); //ищим два самэх бальшых чесла
    
                for (int i = 0; i < 2; i++)
                {
                    Console.WriteLine(ret[i]); //выводем их в кансоль
                }
                Console.ReadKey();
            }
        }
    }

    Таким я вижу говнокод. Или почти таким...:)

    opentornado, 19 Ноября 2010

    Комментарии (6)
  5. SQL / Говнокод #4667

    −856

    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
    create   Function [dbo].[BuildString](	@a char(1),
    			       	@b char(1),
    			       	@c char(2),
    			       	@d char(2),
    			       	@e char(1),
    				@f char(1),
    			       	@g char(1),
    			       	@h char(2),
    			       	@i char(2),
    			       	@j char(1),
    				@k char(2),
    			       	@l char(1),
    				@m char(2),
    			       	@n char(1),
    				@o char(1),
    			       	@p char(1),
    			       	@q char(2),
    			       	@r char(2),
    				@s char(1),
    			       	@t char(1),
    				@u char(1),
    			       	@v char(1),
    			       	@w char(2),
    			       	@x char(2),
    			       	@y char(2),
    			       	@z char(1),
    				@a0 char(1),
    			       	@a1 char(1),
    			       	@a2 char(2),
    			       	@a3 char(2),
    				@a4 char(4))
    returns char(47)
    as
    begin
    
    declare @text char(47)
    
    set @text = @a+@b+@c+@d+@e+@f+@g+
    		@h+@i+@j+@k+@l+@m+@n+
    		@o+@p+@q+@r+@s+@t+@u +
    		@v+@w+@x+@y+@z+
    		@a0+@a1+@a2+@a3+@a4
    
    return @text

    Автор наверное что-то хотел этим сказать. Я так и не понял :)

    adler, 17 Ноября 2010

    Комментарии (6)
  6. Pascal / Говнокод #4656

    +108

    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
    TCalc = Class
      Public
        Order : 1..2;
        BMouseDown : Boolean;
        TSS : TPoint;
        mas : array[1..8,1..8] of Byte;
        Constructor Create;
        Procedure MouseDown (Stroka, Stolb : Byte; Var Bool : Boolean);
        Procedure FiguresCount (Var White, Black : Byte);
        Procedure Messages (i : Byte);
        Procedure Proverka (T : TPoint; Stroka, Stolb : Byte;
                            Var Bool, Double : Boolean; Var Dbl : TPoint);
        Procedure ReloadMas (Str, Stolb : Byte; Point : TPoint; Double : Boolean; DblP : TPoint);
        Procedure BoardHelp (Stroka, Stolb : Byte);
        Procedure NoChangeOrder (Stroka, Stolb : Byte; Var NoChangeOrder : Boolean);
        Procedure Proverka_GoTo (Str, Stolb : Byte; Var masBool : ArrBool;
                                 Var masCoord : ArrCoord);
        Procedure Scanner (Var kol : Byte; Var ScanMas : ArrCoord);
        Procedure PlaySound (Wave : TLMDWaveComp; ind : Byte);
        Procedure FigureTrue (Str, Stolb : Byte);
        Procedure Damka_Go (Fig : TPoint; Str, Stolb : Byte;
                            Var Bool, Double : Boolean; Var Dbl : TPoint);
        Procedure IsDamka_Fight (X, Y : Byte; Var Bool : Boolean; Var Coord : TPoint);                    
    end;

    Объявление класса, отвечающего за логику в игре шашки.
    Объектный подход :)

    ClassVar, 16 Ноября 2010

    Комментарии (6)
  7. C# / Говнокод #4629

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    int count1 = 0;
                foreach (int a in ilist)
                {
                    lister[count1] = ilist.ElementAt(count1);
                    count1++;
                }

    dot, 15 Ноября 2010

    Комментарии (6)
  8. C++ / Говнокод #4624

    +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
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    int makedata(int id,int part,void *d,int datalen,void *buf)
    {
        //packet struct :
        // code = short int, lenght = shotr int, id = int, numofpart = int, data = 1024
    
        int packlen = sizeof(short int)*2 + sizeof(int)*2 + datalen;
        char *tbuf = new char [packlen];
        char* tbufptr = tbuf;
        *((short int *)tbufptr) = data;  //first field
        (short int *)tbufptr++;
        *((short int *)tbufptr) = packlen;  //second field
        (short int *)tbufptr++;
        *((int *)tbufptr) = id;
        (int *)tbufptr++;
        *((int *)tbufptr) = part;
        (int *)tbufptr++;
        *((short int *)tbufptr) = datalen;
        (short int *)tbufptr++;
        memcpy((void*)tbufptr,d,datalen);
    
        buf=tbuf;
        return packlen;
    }
    
    fileinfo* getask(void *b)
    {
        fileinfo *fi = new fileinfo();
        char *bufptr = (char*)b;
        (short int*)bufptr++;
        short int plen = *((short int*)bufptr);
        (short int*)bufptr++;
        fi->numofpart = *((int*)bufptr);
        (int*)bufptr++;
        fi->filelenght = *((int*)bufptr);
        (int*)bufptr++;
        int filelen = plen-(bufptr-(char*)b);
        fi->filename = new char[filelen];
        strncpy(fi->filename,bufptr,filelen);
    
        return fi;
    }

    Вместо того, что бы воспользоваться структурой, забиваем всё ручками.

    KoirN, 14 Ноября 2010

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

    +161

    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
    <?php
    //Список категорий
    function get_cat_list () {
    $sql_cat_list = mysql_query("SELECT * FROM te_categories ORDER BY category_id");
    for ($cat_list=array(); $row=mysql_fetch_assoc($sql_cat_list); $cat_list[]=$row);
    $cat_list = array_reverse ($cat_list); //переворачиваем массив
    return $cat_list;
    }
     
    //Категории в норм виде (возвращает массив или печатает)
    function get_categories ($cat_list, $print="noprint") {
    foreach ($cat_list as $cat)
    	{
    	$categories [$cat['category_id']]['name'] = $cat['name'];
    	$categories [$cat['category_id']]['cat_count'] = $cat['cat_count'];
    	if ($print !== "noprint") echo '<li class="list"><a href="?page=article&category_id='.$cat['category_id'].'">'.$cat['name'].'</a> <small>('.$cat['cat_count'].')</small></li>';
    	}
    	if ($print == "noprint") return $categories;
    }
    /*
    Коментарий ниже:
    Зачем вначале мы получили список категорий $cat_list, 
    а затем зачем-то преобразовали в $categories в цикле foreach? 
    Просто для удобства и красоты мы из списка массивов 
    (записей или строк), полученных из БД, 
    сделали двумерный массив 
    с первичным ключом category_id 
    (ведь он у нас уникален). 
    Для наглядности распечатайте оба этих массива, 
    и сразу увидите разницу:
    */
    ?>

    Свеженькое Г
    Версия 0.02 CMS Tractor Engine
    (Кажись 2010 год)
    Будущее интернетов...

    istem, 13 Ноября 2010

    Комментарии (6)
  10. Pascal / Говнокод #4575

    +103

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if Column.Field.AsInteger > 10 then
    DrawGridCheckBox(DBGrid1.Canvas, Rect, true)
    else
    DrawGridCheckBox(DBGrid1.Canvas, Rect, false)
    end;

    Классика жанра

    gorsash, 10 Ноября 2010

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

    +145

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    switch ($_GET['otdel']) {
    	case null:
    		echo "Название отдела №1";
    		$_GET['otdel'] = 1;
    	break;
    	case 1:
    		echo "Название отдела №1";
    	break;
    
    	case 11:
    // и так далее

    Отдел по умолчанию.
    Вариантов написать толково - тьма. Попробуем?

    AndryG, 07 Ноября 2010

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