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

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

    +6

    1. 1
    http://habrahabr.ru/post/269199/

    "GUI" на "PHP", да еще и с компиляцией в ".exe". Ебанный стыд.
    Родина им дала плюсы, PyQt, java и дохуя чего еще — пиши! Пиши на нормальных языках, блядь! Не хочу, хочу жрать говно! Что такое? Это кодеры? Это кодеры? Суки, мудачьё — кодеры. PHP наустанавливали, говно жрут — пидоры, блядь, ёбаные…

    gost, 21 Октября 2015

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

    +1001

    1. 1
    2. 2
    3. 3
    if ($captcha_url != '' && 1 == 1) {
            //echo $html;
            require('antigate.php');

    Интересно, зачем потребовалось единицы сравнивать

    OnlyFirster, 28 Июля 2015

    Комментарии (52)
  4. Python / Говнокод #18436

    −119

    1. 1
    2. 2
    def Hash(InputNumber,Salt,Pass)		
     return (58 - (529 + (-1975048375 + (InputNumber | -2092637991 | ((-713925853 & Pass & (Salt + (-401 ^ Pass) ^ (Pass + (-462 | ((-946 | (InputNumber - Salt & -1686942264) ^ 1238358322) - 1665246394))))) + Salt | Pass) + Salt)))) | InputNumber

    Хэширование числа

    zadrot, 04 Июля 2015

    Комментарии (52)
  5. Си / Говнокод #17290

    +138

    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
    int fermat (void)
    {
      const int MAX = 1000;
      int a=1,b=1,c=1;
      while (1) {
        if (((a*a*a) == ((b*b*b)+(c*c*c)))) return 1;
        a++;
        if (a>MAX) {
          a=1;
          b++;
        }
        if (b>MAX) {
          b=1;
          c++;
        }      
        if (c>MAX) {
          c=1;
        }
      }
      return 0;
    }
    
    #include <stdio.h>
    
    int main (void)
    {
      if (fermat()) {
        printf ("Fermat's Last Theorem has been disproved.\n");
      } else {
        printf ("Fermat's Last Theorem has not been disproved.\n");
      }
      return 0;
    }

    Fermat's Last Theorem has been disproved
    http://blog.regehr.org/archives/140

    Если уже было черкните мне на /dev/null@localhost, удалю

    Elvenfighter, 11 Декабря 2014

    Комментарии (52)
  6. Python / Говнокод #17278

    −118

    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
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    from os import walk
    from time import time
    
    from abc import ABCMeta, abstractmethod
    
    class Reporter(object):
        __metaclass__=ABCMeta
        
        @abstractmethod
        def report(self, catalogs_cntr, files_ctnr, speed):
            """ output catalogs_cntr, files_ctnr, speed to somewhere """
            #pass
        
    class ConsoleIndicator(Reporter):
        def __init__(self, out_splitter):
            self.__out_splitter=out_splitter
            
        def report(self, catalogs_cntr, files_ctnr, speed):
            if self.__out_splitter and self.__out_splitter.pipes:
                _result = "\rcataloges:" + repr(catalogs_cntr).rjust(8) 
                _result += "\tfiles:" + repr(files_ctnr).rjust(13) 
                _result += "\tspeed: %12.3f"%speed + " files/s"
                
                self.__out_splitter.write(_result)
                self.__out_splitter.flush()        
                    
    class CatalogsWalker(object):
        """ """
        
        def __init__(self, catalogs, reporter=None):
            """ """
            
            self.__files_cntr, self.__catalogs_cntr, self.__start_time, self.__speed = 0, 0, 0, 0
            self.__reporter = reporter 
            self.__catalogs = catalogs if hasattr(catalogs, "__iter__") else [catalogs]
    
            
        def __iter__(self):
            self.__files_cntr, self.__catalogs_cntr, self.__start_time, self.__speed = 0, 0, 0, 0
            self.__start_time=time()
            for catalog in self.__catalogs:
                print catalog
                for p,d,ns in walk(catalog): 
                    _ = d;
                    self.__catalogs_cntr+=1
                    for n in ns:
                        self.__files_cntr+=1
                        self.__speed=self.__files_cntr/(time()-self.__start_time)
                        if self.__reporter:
                            self.__reporter.report(self.__catalogs_cntr, self.__files_cntr, self.__speed)
                        yield p,n
                        
        @property
        def reporter(self):
            return self.__reporter
        
        @property
        def catalog_counter(self):
            return self.__catalogs_cntr    
        
        @property
        def file_counter(self):
            return self.__files_cntr
        
        @property
        def start_time(self):
            return self.__start_time
        
        @property
        def speed(self):
            return self.__speed

    По мотивам http://govnokod.ru/17181 Учтены замечания некого Анонимус http://govnokod.ru/17181#comment256577. Надеюсь что будут еще замечания, такие же конструктивные и полезные.

    apgurman, 08 Декабря 2014

    Комментарии (52)
  7. Си / Говнокод #17154

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    int size;
    
    size = EXPR;
    
    if (size > INT_MAX || size <= 0) {
        return NULL;
    }
    
    // ...

    Ндя. Семь лет уже. Теперь всё понятно...

    bot, 23 Ноября 2014

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

    +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
    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
    private void button1_Click(object sender, EventArgs e)
             {
                 OpenFileDialog ofd = new OpenFileDialog();
                 if(ofd.ShowDialog() == DialogResult.OK)
                 {
                     gs_path = ofd.FileName;
                     BinaryReader br = new BinaryReader(new FileStream(gs_path, FileMode.Open, FileAccess.Read));
                     int sys = 0;
                     do {
                         ofset++;
                         br.BaseStream.Seek(ofset, SeekOrigin.Begin);
                         if (br.ReadInt64() == 6875716118506401907)
                         {
                             if (br.ReadInt64() == 521392779117)
                             {
                                 sys = 1;
                             }
                         }
                     } while (sys == 0);
                     br.BaseStream.Seek(ofset + 20, SeekOrigin.Begin);
                     textBox1.Text = br.ReadSingle().ToString();
                     br.BaseStream.Seek(ofset + 24, SeekOrigin.Begin);
                     textBox2.Text = br.ReadSingle().ToString();
                     br.BaseStream.Seek(ofset + 28, SeekOrigin.Begin);
                     textBox3.Text = br.ReadSingle().ToString();
                     br.BaseStream.Seek(ofset + 32, SeekOrigin.Begin);
                     textBox4.Text = br.ReadSingle().ToString();
                     br.BaseStream.Seek(ofset + 36, SeekOrigin.Begin);
                     textBox5.Text = br.ReadSingle().ToString();
                     br.BaseStream.Seek(ofset + 40, SeekOrigin.Begin);
                     textBox6.Text = br.ReadSingle().ToString();
                     br.BaseStream.Seek(ofset + 44, SeekOrigin.Begin);
                     textBox7.Text = br.ReadSingle().ToString();
                     br.Close();
                 }
             }
    ...
            string gs_path;
             int ofset = 0;
             public Form1()
             {
                 InitializeComponent();
             }
    ...
            private void button2_Click(object sender, EventArgs e)
             {
                 BinaryWriter bw = new BinaryWriter(new FileStream(gs_path, FileMode.Open, FileAccess.Write));
                 bw.BaseStream.Seek(ofset + 20, SeekOrigin.Begin);
                 bw.Write(Convert.ToSingle(textBox1.Text));
                 bw.BaseStream.Seek(ofset + 24, SeekOrigin.Begin);
                 bw.Write(Convert.ToSingle(textBox2.Text));
                 bw.BaseStream.Seek(ofset + 28, SeekOrigin.Begin);
                 bw.Write(Convert.ToSingle(textBox3.Text));
                 bw.BaseStream.Seek(ofset + 32, SeekOrigin.Begin);
                 bw.Write(Convert.ToSingle(textBox4.Text));
                 bw.BaseStream.Seek(ofset + 36, SeekOrigin.Begin);
                 bw.Write(Convert.ToSingle(textBox5.Text));
                 bw.BaseStream.Seek(ofset + 40, SeekOrigin.Begin);
                 bw.Write(Convert.ToSingle(textBox6.Text));
                 bw.BaseStream.Seek(ofset + 44, SeekOrigin.Begin);
                 bw.Write(Convert.ToSingle(textBox7.Text));
                 bw.Close();
             }

    http://kn1fe-zone.ru/index.php?threads/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0% BC%D0%BC%D1%8B-%D1%81-%D0%B0%D0%B2%D1%82%D0%BE%D0%BF%D0%BE%D0% B8%D1%81%D0%BA%D0%BE%D0%BC-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0% B8%D0%B9.381/

    ХОСПАДИ ДЕСЯТЬ ИЗ ДЕСЯТИ!!!!1111 Принесите мачете и спирт!

    DesmondHume, 28 Августа 2014

    Комментарии (52)
  9. Java / Говнокод #16255

    +76

    1. 1
    return new Double(Math.ceil(weight)).intValue();

    И снова autoboxing не в почете

    kostoprav, 30 Июня 2014

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

    +16

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    std::string response;
    ...
    char* result = new char[response.size() + 1];
    memcpy(&result[0], &response.c_str()[0], response.size());
    result[response.size()] = 0;
    return result;

    Сам метод возвращает char * (при этом никто не запрещал использовать непосредственно std::string).

    ЗЫ жаль что весь проект запостить нельзя. Он весь достоин.

    h4tr3d, 27 Мая 2014

    Комментарии (52)
  11. Си / Говнокод #15967

    +129

    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
    #include <stdio.h>
    #include <stdint.h>
    
    #define ARR_L 11
    #define INS_P (arr[0])
    #define MOD_L(a) ((a) % ARR_L)
    #define INS_P_M (MOD_L(INS_P))
    #define ARR_ACS(a) (arr[MOD_L(a)]) //access to arr
    
    
    void foo (uint8_t *arr)
    {
      ARR_ACS(3) = INS_P * ARR_ACS(INS_P);
      ARR_ACS( MOD_L( INS_P_M + 1 ) ) = ((INS_P * INS_P) * 2);
      if (INS_P != 0) {ARR_ACS(INS_P_M)++;};
      INS_P = INS_P_M + 1;
    
      // tut voobche lubaya fignya, kotoraya chtoby izmenyala
      // figny v massive v zavisimosti ot sostoyania massiva
    }
    
    int main(void) {
      uint8_t arr[ARR_L] = {0,2,6,3,2,62,7,113,0,26,13};
      for (size_t a = 0; a < 10000; a++)
      {
        foo(arr);
        printf 
        (
          "%.3u %.3u %.3u %.3u %.3u "
          "%.3u %.3u %.3u %.3u %.3u %.3u\n",
          INS_P,arr[1],arr[2],arr[3],arr[4],
          arr[5],arr[6],arr[7],arr[8],arr[9],arr[10]);
      }
      return 0;
    }

    Машина Тьюринга с лентой конечной длины - конечный автомат. Состояние обязательно зациклится, какие бы правила преобразования над конечным алфавитом мы не вводили и каким бы ни было начальное состояние ленты.

    В сишке есть возможности вменяемо сделать вывод чисел из массива подряд для N-ного количества аргументов?
    Цикл не предлагать

    j123123, 12 Мая 2014

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