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

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

    +61

    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
    #include <iostream>
    #include <iomanip>
    
    using std::boolalpha;
    using std::cout;
    using std::endl;
    
    template <class N>
    bool getbit(N var, int bit)
    {
        size_t bsz = sizeof(N)*8;
        return ((bsz>=bit)?((var>>bit)%2):(0));
    }
    
    template <class N>
    bool bitCompare(N a, N b)
    {
        size_t bsz = sizeof(N)*8;
    
    	for (size_t i = 0; i < bsz; i++)
    	{
            bool gba = getbit(a, i);
    		bool gbb = getbit(b, i);
    		if (gba != gbb)
    		{
    			return false;
    		}
    	}
    
    	return true;
    }
    
    int main(int argc, char* argv[])
    {
    	cout << "100500 == 100500:" << boolalpha << bitCompare(100500, 100500) << endl;
    	cout << "100500 == 9000: " << bitCompare(100500, 9000) << endl;
    	cout << "'H' == 'H': " << bitCompare('H', 'H') << endl;
    	cout << "'H' == 'K': " << bitCompare('H', 'K') << endl;
    
    	return 0;
    }

    Байтоебство проходили... Дамы и господа! Встречайте битоебство!

    gost, 29 Марта 2014

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $query = $this->_db->prepare("SELECT * FROM `Stats` WHERE `Login` = :login");
    $query->bindParam(':login', $login, PDO::PARAM_STR);
    $query->execute();
    $result = $query->fetchAll();
    return count($result);

    SELECT COUNT - неизвестная для того человека конструкция...

    ByMsx, 25 Марта 2014

    Комментарии (38)
  4. Си / Говнокод #15487

    +133

    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
    if (other && other->client && other->s.number < MAX_CLIENTS)
    		{//player touched me
    			/*
    			char *text;
    			qboolean	keyTaken;
    			//give him my key
                            ...
    
    			*/
    			//rwwFIXMEFIXME: support for goodie/security keys?
    			/*
    			if ( keyTaken )
    			{//remove my key
    				NPC_SetSurfaceOnOff( self, "l_arm_key", 0x00000002 );
    				self->message = NULL;
    				//FIXME: temp pickup sound
    				G_Sound( player, G_SoundIndex( "sound/weapons/key_pkup.wav" ) );
    				//FIXME: need some event to pass to cgame for sound/graphic/message?
    			}
    			//FIXME: temp message
    			gi.SendServerCommand( NULL, text );
    			*/
    		}

    FIXMEFIXMEFIXME... Да ну нахуй, лучше все закомментим.

    gost, 15 Марта 2014

    Комментарии (38)
  5. Java / Говнокод #15300

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private boolean isShowPosition(List<Integer> lists, int p) {
            for (int l : lists) {
                if (p == l)
                    return true;
            }
            return false;
        }

    Вьетнамское творчество

    AAverin, 04 Марта 2014

    Комментарии (38)
  6. Си / Говнокод #15279

    +139

    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
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    #include <stdio.h>
    #include <stdlib.h>
    #define value_i int
    #define gen_program main()
    #define begin {
    #define end }
    #define sep ;
    #define back_val return
    #define vis(a) printf ("%d", a)
    #define ln printf ("\n")
    #define ln3 printf ("\n\n\n")
    #define cycle_count for
    #define rand rand()
    #define gen_rand srand((unsigned)time(NULL))
    #define value_c char
    #define vis_c(a) printf("%c", a)
    #define eq =
    #define uneq !=
    #define check ==
    #define inc(a) a++
    #define res %
    #define add +
    #define sub -
    #define blank void
    #define small <
    #define big >
    
    blank line(blank) sep
    
    value_i gen_program
    begin
        value_i x, i                                sep
        gen_rand                                    sep
        value_c c eq ' '                            sep
        cycle_count(i eq 1 sep i small 10 sep inc(i))
        begin
            x eq rand res 10 add 1                  sep
            if (x uneq 10)
            begin
                vis(x)                              sep
                vis_c(c)                            sep
            end
        end
        ln3                                         sep
        line()                                      sep
        ln                                          sep
        back_val 0                                  sep
    
    end
    
    blank line(blank)
    begin
        value_i i sep
        cycle_count (i eq 0 sep i small 10 sep inc(i) )
        begin
        printf("-/*\\")                                sep
        end
        printf("-")                                    sep
    end

    Можно рефакторить.

    Hammer, 01 Марта 2014

    Комментарии (38)
  7. Java / Говнокод #15252

    +67

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public class LoaderForMongoCompanies extends AbstractJdbcLoader {
    
        @Override
        protected String getTableSuffix() {
            return "mongo";
        }
    
    }

    нужно больше классов

    roman-kashitsyn, 28 Февраля 2014

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

    +153

    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
    /*где-то в начале: error_reporting(0);*/
    
    class PhocaGalleryFile{
    	function getCSSFile($id = 0, $fullPath = 0) {
    		if ((int)$id > 0) {
    			$db = &Factory::getDBO();
    			$query = 'SELECT a.filename as filename, a.type as type'
    				.' FROM #__styles AS a'
    			    .' WHERE a.id = '.(int) $id;
    			$db->setQuery($query, 0, 1);
    			$filename = $db->loadObject();
    			if (isset($filename->filename) && $filename->filename != '') {
    				if ($fullPath == 1 && isset($filename->type)) {
    					return self::getCSSPath($filename->type). $filename->filename;
    				} else {
    					return $filename->filename;
    				}
    			}
    		}
    
    		return false;
    	}
    
     . . .
    }

    Поубивал пустые строки (по 2 штуки между каждой строкой кода) и комменты вида:
    /* ===============
    == This function is geting a CSSFile fron database .....
    ===============
    */
    Гы! Код для заказчика должен выглядеть наукообразно и непонятно.
    И обязательно выдавать Notices и Warnings.

    virtual_cia, 19 Декабря 2013

    Комментарии (38)
  9. Pascal / Говнокод #14129

    +132

    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
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    procedure tnewthread.checkfiles; // процедура выполняется в потоке
    var
      i:integer;
      status:tstatus;
      ptmp:array of char;
      temp:string;
      len:integer;
      fstream:tfilestream;
    begin
      flist.Clear;
      findfiles(findpath);
      for i:=flist.Count-1 downto 0 do
      begin
        status:=s_ok;
        try
          try
            fstream:=tfilestream.Create(flist[i],fmopenread);
            fstream.Position:=0;
            setlength(ptmp,fstream.size);
            fstream.Read(pointer(ptmp)^,fstream.size);
          except
            status:=s_error;
          end;
        finally
          fstream.free;
        end;
        temp:=string(pchar(ptmp));
        temp:=stringreplace(temp,'&nbsp;',' ',[rfreplaceall]);
        temp:=stringreplace(temp,'&gt;','>',[rfreplaceall]);
        temp:=stringreplace(temp,'&nbsp;',' ',[rfreplaceall]);
        temp:=stringreplace(temp,'&lt;','<',[rfreplaceall]);
        temp:=stringreplace(temp,'&amp;','&',[rfreplaceall]);
        temp:=stringreplace(temp,'&quot;','"',[rfreplaceall]);
        temp:=stringreplace(temp,'&copy;',#169,[rfreplaceall]);
        temp:=stringreplace(temp,#10,#13#10,[rfreplaceall]);
        Len := Length(temp);
        try
          try
            fstream:=tfilestream.Create('C:\1.txt',fmcreate); // заменил в целях теста, не помогает.
            fstream.Position:=0;
              fstream.WriteBuffer(temp[1], Len); // в этом  месте поток вылетает с ошибкой "Range check error"
          except
            status:=s_error;
          end;
        finally
          fstream.free;
        end;
        if status=s_ok then
        begin
          addfileinfo(flist[i]); 
          shrecyclefile(flist[i]);
        end
        else
        begin
          adderrinfo(flist[i]); // синхронизируемся с мемо и добавляем в него красную строчку с именем файла
          shmovefile(flist[i],erroroutputpath +'\' + extractfilename(flist[i])); // перемещаем файл в директорию с файлами, при обр. которых произошла ошибка
        end;
      end;
    end;

    Процедура для обработки текстовых файлов. Имеем дремлющий поток, залоченный waitsingleobject, который будит
    таймерная функция, если в папке есть по крайней мере 1 файл. т.е. одновременно к файлам обращается 1 поток.
    При разлочивании поток немедленно начинает заполнять лист именами файлов, после чего начинает прогонять их
    через процедуру-обработчик. Но вот беда - возникает ошибка range check error. причем возникает только в доп.потоке -
    вне потока все работает нормально. Товарищи ,не подскажете, в чем лажа? (

    Stertor, 24 Ноября 2013

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

    +101

    1. 1
    if( a.GetPixel(i, k).Name.ToString().Substring(0,6)=="ff0404")

    http://www.cyberforum.ru/csharp-net/thread954611.html#post5057105

    Qwertiy, 15 Сентября 2013

    Комментарии (38)
  11. C# / Говнокод #13596

    +133

    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
    private string LineTabsCRLFToSpaces(string line)
            {
                string ret_line = "";
                if (line != null)
                {
                    //    throw new ArgumentNullException("line");
                    if (line.Length == 0) return string.Empty;  // Пустая входная строка
                    for (int i = 0; i < line.Length; i++)
                    {
                        char ch = line[i];
                        if (ch == '\t' || ch == '\r' || ch == '\n')
                            ret_line = ret_line + " ";
                        else
                            ret_line = ret_line + ch;
                    }
                }
                return ret_line;
            }

    - line.Replce()?
    - Не, не слышал!

    nolka4, 12 Августа 2013

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