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

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

    −1

    1. 1
    2. 2
    In [9]: 0.14*100
    Out[9]: 14.000000000000002

    Питонобляди соснули!

    syoma, 27 Мая 2019

    Комментарии (132)
  3. Куча / Говнокод #26489

    +5

    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
    72. 72
    .
                                    Т Е С Т
    
    
                 К А К О Й     В Ы    П Р О Г Р А М М И С Т ?
    
    
                       Источник: Datamation, march, 1977
              Norman Grabowsky "What kind of programmer are you?"
    
    
         Этот тест расскажет о вашем программировании больше,  чем  вы  сами
    хотели бы знать.
    
         Переменная  I  представляет  собой  полное  слово  с  фиксированной
    точкой. I принимает значения 1  либо  2.  Если  I  оказалось  равным  1,
    замените его на 2 и наоборот.
         Сравните ваше решение с десятью  предложенными.  Найдите  одно  или
    несколько  наиболее  похожих  на ваше и прочитайте в разделе "категории"
    краткую характеристику. Вы можете кодировать  на  любом  языке,  но  для
    сравнения предпочтительнее всего использовать PL/1.
    
    
                        Р е ш е н и я.
    
    1.           IF I='2' THEN I=1;
                 ELSE I=2;
    
    2.           IF I=2 THEN I=1;
                 IF I=1 THEN I=2;
    
    3.           IF I=1 THEN GOTO SKIP;
                 I=1;
                 GOTO DONE;
        SKIP:    I=2;
        DONE:
    
    4.           J=2;
                 IF I=2 THEN J=1;
                 I=J;
    
    5.           DECLARE SWITCH LABEL;
                 .  .  .
                 IF I=1 THEN SWITCH=ONE;
                 IF I=2 THEN SWITCH=TWO;
                 GOTO SWITCH;
        ONE:     I=2;
                 GOTO DONE;
        TWO:     I=1;
        DONE:
    
    6.           DECLARE ONETWO(2) FIXED BIN(31) INIT (2,1);
                 .  .  .
                 I=ONETWO(I);
    
    7.           I=3-I;
    
    8.           I=I-(I/2*2)+1;
    
    9.           IF I=2
                       THEN DO;
                            I=1;
                       END;
                       ELSE DO;
                            I=2;
                       END;
    
    10.          IF I=1 THEN I=2;
                 IF I^=2 THEN DO;
                   PUT LIST('ПЛOXOE  I - ЗAMEHEHO HA 1');
                        I=1;
                   END;

    https://www.cs.bgu.ac.il/~barnshte/CompHumor/texts/TEST.koi

    j123123, 11 Марта 2020

    Комментарии (131)
  4. JavaScript / Говнокод #26422

    +3

    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
    onst addAdjacencies = (
      nodes,
    ) => (
      nodes
      .map(({
        colorId,
        id,
        x,
        y,
      }) => ({
        color: colors[colorId],
        eastId: (
          getNodeAtLocation({
            nodes,
            x: x + 1,
            y,
          })
        ),
        id,
        northId: (
          getNodeAtLocation({
            nodes,
            x,
            y: y - 1,
          })
        ),
        southId: (
          getNodeAtLocation({
            nodes,
            x,
            y: y + 1,
          })
        ),
        westId: (
          getNodeAtLocation({
            nodes,
            x: x - 1,
            y,
          })
        ),
      }))
      .map(({
        color,
        id,
        eastId,
        northId,
        southId,
        westId,
      }) => ({
        adjacentIds: (
          [
            eastId,
            northId,
            southId,
            westId,
          ]
          .filter((
            adjacentId,
          ) => (
            adjacentId !== undefined
          ))
        ),
        color,
        id,
      }))
    )

    https://medium.com/free-code-camp/bet-you-cant-solve-this-google-interview-question-4a6e5a4dc8ee

    джаваскриптер натужно пытается решить простейшую задачу "гугл уровня" с обходом, для увеличения кринжа прилагается поехавший кодстайл и решение на RxJS

    Fike, 08 Февраля 2020

    Комментарии (131)
  5. Python / Говнокод #24902

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    class Test(contextlib.ExitStack):
        def __init__(self):
            super().__init__()
            with contextlib.ExitStack() as s:
                self.foo = s.enter_context(Foo())
                self.bar = s.enter_context(Bar())
                self.enter_context(s.pop_all())

    Неужели в питоне нет более адекватного способа описать класс, который держит джва ресурса и корректно их освобождает во всех ситуациях? И эти люди ругают кресты за сложность управления памятью...

    bormand, 11 Октября 2018

    Комментарии (131)
  6. Куча / Говнокод #23309

    −3

    1. 1
    2. 2
    3. 3
    4. 4
    Деанон j123123: [email protected], Калининград, Евгений, +79005699614
    Деанон inkanus-gray: [email protected], Москва, Илья, +79096973744
    Деанон kegdan: [email protected], Томск, Михаил, +79234101342
    Деанон TarasB: [email protected], Питер, имя не установлено, +79119017975

    strtr, 30 Августа 2017

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

    +139

    1. 1
    #include "intel_glamor.h"

    Строка из драйвера видеокарты X11: intel_driver.c.
    Гламур спасёт мир.

    laMer007, 15 Января 2014

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

    +64

    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
    int message2 = -1;
          for (int i = 0; i < 5; i++)
          {
              QFile f;
              f.setFileName(QString("/var/log/messages.") + QString::number(i));
              if (f.exists())
              {
                  message2 = i;
                  break;
              }
          }
    
          if (message2 != -1 )
            QFile::copy(QString("/var/log/messages.")+QString::number(message2), QString(NMP_DATA_DIR) + QString("messages.") +  QString::number(message2) +"-"+ _section);

    Пытается скопировать все файлы /var/log/messages, messages.0, ...

    leotrubach, 19 Декабря 2013

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

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    this.startAdLoading = function(callback) {
    this.adCallback = callback;
    
    Array.prototype.remove = function(from, to) {
      var rest = this.slice((to || from) + 1 || this.length);
      this.length = from < 0 ? this.length + from : from;
      return this.push.apply(this, rest);
    };
    ...
    }

    Очень полезный метод добавили массивам. Все тот же источник.

    wvxvw, 12 Августа 2013

    Комментарии (131)
  10. Java / Говнокод #13102

    +114

    1. 1
    switch (Strings.nullToEmpty(value)) { ... }

    Жабовский string switch не умеет в null. Приходится так.

    someone, 04 Июня 2013

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

    +1001

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    QStringList list;
    QStringList::iterator i, j;
    //...
    i = qLowerBound(list.begin(), list.end(), value);
    j = qUpperBound(list.begin(), list.end(), value);
    while (i != j) {
    	processItem(*i);
    	++i;
    }

    Пахучее пятнышко из брошюры "Qt 4's Generic Algorithms"

    Xom94ok, 27 Ноября 2011

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