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

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

    +128

    1. 1
    if ((((((X >= -7) && (X<= -6) & (Y!=2)) || (X<= -2) && (X>= -6) && (Y<=0) && (Y>= -1) && (Y== 0.25*X + 0.5) || (X+ -2)*(X+ -2) + (Y+2)*(Y+2)==4) && (X >= -2) && (X<=0) && (Y>=0) && (Y<=2)|| (((X*X)+(Y*Y)==4)) && ((X>=0) && (X<=2) && (Y>=0) && (Y<=2))) || ((Y==0.5*X-1) && (X>=2) && (Y<=3) & (Y!=0)))) Console.WriteLine("Принадлежит");

    HIMen, 23 Декабря 2010

    Комментарии (20)
  3. C++ / Говнокод #4999

    +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
    template <class TList, template <class> class Unit>
        class GenScatterHierarchy;
     template <class T1, class T2, template <class> class Unit>
        class GenScatterHierarchy<Typelist<T1, T2>, Unit>
            : public GenScatterHierarchy<Private::ScatterHierarchyTag<T1, T2>, Unit>
            , public GenScatterHierarchy<T2, Unit>
        {
        public:
            typedef Typelist<T1, T2> TList;
            typedef GenScatterHierarchy<Private::ScatterHierarchyTag<T1, T2>, Unit> LeftBase;
            typedef GenScatterHierarchy<T2, Unit> RightBase;
            template <typename T> struct Rebind
            {
                typedef Unit<T> Result;
            };
        };

    Говногость, 21 Декабря 2010

    Комментарии (20)
  4. Ruby / Говнокод #4974

    −115

    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
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    #!/usr/bin/ruby1.8
    
    require 'mysql'
    $KCODE = 'UTF8'
    
    class Country
      @@country = Array.new
      @@insert_query = String.new
      @@db = Mysql
    
      def initialize(filename)
        file = File.open(filename)
        while !file.eof?
          value, index = file.readline.split(/\s+/u)
          @@country[index.to_i] = value.to_s
        end
        file.close
      end
    
      def database_connect
        @@db = Mysql.new('localhost','username','userpass','userdatabase')
        begin
          @@db.query("SET NAMES utf8")
        rescue
          puts @@db.error
        end
      end
    
      def create_query
        begin
          result = @@db.query("SELECT * FROM table")
        rescue
          puts @@db.error
        end
        result.each_hash do |field|
          @@country.each_index do |index|
          @@insert_query += "UPDATE table SET position = #{index} WHERE caption = '#{field['caption']}';" if @@country[index] == field['caption']
          end
        end
      end
    
      def execute_query
        begin
          @@insert_query.split(/;/u).each { |query| @@db.query(query) }
          puts "result: #{@@db.errno}" if @@db.errno
        rescue
          puts @@db.error
        end
      end
    
      def database_disconnect
        @@db.close
      end
    end
    
    cnt = Country.new('country.txt')
    # connect to DB
    cnt.database_connect
    # construct query
    cnt.create_query
    # execute constructed query
    cnt.execute_query
    # close connect
    cnt.database_disconnect

    Ну можно же как-то сделать лучше?

    avastor, 19 Декабря 2010

    Комментарии (20)
  5. Pascal / Говнокод #4966

    +109

    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
    procedure RemoveDir(path: string);
    var
      sr: TSearchRec;
    begin
      if FindFirst(path + '\*.*', faAnyFile, sr) = 0 then
      begin
        repeat     
          if sr.Attr and faDirectory = 0 then
            DeleteFile(path + '\' + sr.name);
          else
              RemoveDir(path + '\' + sr.name);
        until
          FindNext(sr) <> 0;
      end;
      FindClose(sr);
      RemoveDirectory(PChar(path));
    end;

    История такова, писал я как-то программу по курсовому. (Это было еще года два-три назад, когда я про юнит тесты и различные технологии проектирования и разработки ничего не знал.) По задумки программа распаковывала некие файлы во временный каталог рядом с приложением и по завершению работы с ними удаляла эту папку вот этим методом. Итак, запустил я эту подпрограмму на выполнение для проверки ее работоспособности и смотрю в файловом менеджере, что папка успешно удалилась и все ок. Но вдруг студия начала жаловаться что нет каких-то файлов, я смотрю в файловый менеджер и вижу что файлы проекта программы исчезают буквально на глазах! Естественно я резко убиваю программу и далее начинаю восстанавливать исходники. Благо, что делал бэкапы и эта подпрограмма проработала все ничего, а ведь последствия могли быть еще больше. А мораль такая, нужно быть предельно внимательным, когда работаешь с удалением какой-либо информации.

    P.S. Нужно добавить проверку между 10 и 11 строкой:
    if (sr.Name <> '..') and (sr.Name <> '.') then

    vanished, 18 Декабря 2010

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

    +157

    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
    $query = "SELECT * FROM records WHERE  id_film='$id_film'";        
    $results = mysql_query($query);
    $var1 = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
    $var1 = $var1. "<playlist>\n";     
    while($line = mysql_fetch_assoc($results))
      {
    $tmp_us = $tmp_us.$line['id_user'];
      $var1 = $var1."<vid src=\"http://homelinux.com:8080/sample1/content/audiorecord/"
      . $line['id_user']
      ."/"
      . $line["file_name"]
      ."_d.flv"
      . "\" label=\""
      . $line["file_name"]
      ."\""
      ." id_film=\""
      . $line["id_film"]
      ."\""
      ." time_begin=\""
      . $line["time_begin"]
      ."\""
      ." time_end=\""
      . $line["time_end"]
      ."\""
      ." id_user=\""
      . $line["id_user"]
      ."\""  
      ." sh_val=\""
      . $line["sh_val"]
      ."\""
      ." id_record=\""
      . $line["id_record"]
      ."\""
      ."/>\n";
    }
    $var1 = $var1."</playlist>\n"; 
    echo "var1=$var1";

    Вот так некоторые Flash-еры формируют xml пакеты

    Agel_Nash, 16 Декабря 2010

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

    +159

    1. 1
    2. 2
    SetClipboardData(CF_TEXT, hMems);
    SetClipboardData(RegisterClipboardData(CFSTR_SHELLURL), hMems);

    Говногость, 15 Декабря 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if ($_GET['sd']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[sd];} else {$zagol=$title[spec];};
    if ($_GET['sv']=='show' && $_GET['sd']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[sv];} else {$zagol=$title[spec];};
    if ($_GET['vks']=='show' && $_GET['sv']=='' && $_GET['sd']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[vks];} else {$zagol=$title[spec];};
    if ($_GET['m']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['sd']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[m];} else {$zagol=$title[spec];};
    if ($_GET['bio']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['sd']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[bio];} else {$zagol=$title[spec];};
    if ($_GET['ras']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['sd']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[ras];} else {$zagol=$title[spec];};
    if ($_GET['tm']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['sd']=='' && $_GET['ld']=='') {$zagol=$title[tm];} else {$zagol=$title[spec];};
    if ($_GET['ld']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['sd']=='') {$zagol=$title[ld];} else {$zagol=$title[spec];};

    Первые попытки писать на PHP...

    BOOMik, 22 Ноября 2010

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

    +163

    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
    function utf8_win ($s){
    	$out="";
    	$c1="";
    	$byte2=false;
    	for ($c=0;$c<strlen($s);$c++){
    		$i=ord($s[$c]);
    		if ($i<=127) $out.=$s[$c];
    		if ($byte2){
    			$new_c2=($c1&3)*64+($i&63);
    			$new_c1=($c1>>2)&5;
    			$new_i=$new_c1*256+$new_c2;
    			if ($new_i==1025){
    				$out_i=168;
    			}else{
    				if ($new_i==1105){
    					$out_i=184;
    				}else {
    					$out_i=$new_i-848;
    				}
    			}
    			$out.=chr($out_i);
    			$byte2=false;
    		}
    		if (($i>>5)==6) {
    			$c1=$i;
    			$byte2=true;
    		}
    	}
    	return $out;
    }

    iconv не по мне..., я лучше с побитовыми операциями поработаю, зато сам!
    Гораздо медленее правда, зато своё!

    dwinner, 22 Ноября 2010

    Комментарии (20)
  10. Си / Говнокод #4510

    +109

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /*
    * The dump header describes the contents of a crash dump.  Two headers
    * are written out: one at the beginning of the dump, and the other at
    * the very end of the dump device.  The terminal header is at a known
    * location (end of device) so we can always find it.  The initial header
    * is redundant, but helps savecore(1M) determine whether the dump has been
    * overwritten by swap activity.  See dumpadm(1M) for dump configuration.
    */
    #define	DUMP_MAGIC	0xdefec8edU		/* dump magic number */

    вот такая сигнатура у крэшдампа соляриса

    bugmenot, 02 Ноября 2010

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

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function CheckDBInsert($str)
    {
    $arr = array("INSERT","SELECT","UPDATE","DELETE","FLUSH","UNION","CONCAT","SET","GRANT","--",";","..","'","-","%","(",")");
    foreach ($arr as $v) {
    $pos = strpos($str, $v);
    if ($pos === false) {
    	} else {
    return "ОШИБКО";
    die();
    }
    }

    код мой 3-летней давности....я плакалЬ(но он работал!)

    Steel2010, 31 Октября 2010

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