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

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

    +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
    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
    if($yearbegin=='2009')
    {
        $dateorder="14 августа 2009";
        if($coursebegin==1)
        {
            $numberorder="736-уч";
        }
    }
    if($yearbegin=='2010')
    {
        $dateorder="10 августа 2010";
        if($coursebegin==1)
        {
            $numberorder="1027-уч";
        }
        if($coursebegin==2)
        {
            $numberorder="1026-уч";
        }
    }
    if($yearbegin=='2011')
    {
        $dateorder="16 августа 2011";
    
        if($coursebegin==1)
        {
            $numberorder="1181-уч";
        }
        if($coursebegin==2)
        {
            $numberorder="1180-уч";
        }
    }
    if($yearbegin=='2012')
    {
        $dateorder="15 августа 2012";
    
        if($coursebegin==1)
        {
            if($contract=="контрактной")
            {
                $numberorder="1354-уч";
            }
            if($contract=="бюджетной")
            {
                $numberorder="1351-уч";
            }
        }
        if($coursebegin==2)
        {
            if($contract=="контрактной")
            {
                $numberorder="1352-уч";
            }
            if($contract=="бюджетной")
            {
                $numberorder="1353-уч";
            }
        }
    }
    // ...

    До 2015

    saksmt, 17 Октября 2014

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

    +122

    1. 1
    slu4ajnoe4islo interval xyuma = unsafeDupablePerformIO (if xyuma==xyuma then randomRIO interval else undefined)

    GovnoGovno, 15 Октября 2014

    Комментарии (1)
  4. PHP / Говнокод #16837

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    'errorHandler' =>
        class yii\console\ErrorHandler#6 (6) {
          public $discardExistingOutput =>
          bool(true)
          public $memoryReserveSize =>
          int(262144)
          public $exception =>
          NULL
          private $_memoryReserve =>
          string(262144) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"...

    Где-то в недрах Yii2. Я, кажется, понимаю, что это и зачем (хотя не уверен, что это работает, когда памяти уже не хватило), но выглядит просто адово.

    Fike, 12 Октября 2014

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

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #define TIME_MATCH    500 /* 5 seconds */
    #define TIMEOUT       2000 /* 20 seconds */
    ...
    if ((pPoint->dwTimer >= TIME_MATCH) 
        || (pPoint->dwTimer >= TIMEOUT)) {
    	    bNewDigit = TRUE;
          }

    И вроде бы причем тут индусы со построчной оплатой кода.

    qxoz, 07 Октября 2014

    Комментарии (1)
  6. Java / Говнокод #16798

    +74

    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
    // TODO: This is not the smartest way to implement the config
    public int getFileFragmentationLevel() {
      return config.getFileFragmentationLevel();
    }
    
    public void setFileFragmentationLevel(int fileFragmentationLevel) {
      config.setFileFragmentationLevel(fileFragmentationLevel);
    }
    
    public int getStackTraceOutputMethod() {
      return config.getStackTraceOutputMethod();
    }
    
    public void setStackTraceOutputMethod(int stackTraceOutputMethod) {
      config.setStackTraceOutputMethod(stackTraceOutputMethod);
    }
    
    public String getOutputDirectory() {
      return config.getOutputDirectory();
    }
    
    public void setOutputDirectory(String outputDirectory) {
      config.setOutputDirectory(outputDirectory);
    }
    
    // и так для всех филдов (геттеров/сеттеров) объекта config

    https://github.com/cbeust/testng/blob/master/src/main/java/org/testng/reporters/XMLReporter.java
    Ну хоть признаёт.

    Actine, 05 Октября 2014

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

    −398

    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
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        
        UIBarButtonItem *saveButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Save", nil) style:UIBarButtonItemStylePlain target:self action:@selector(save:)];
        
        // ...
    
        self.navigationItem.rightBarButtonItems = @[saveButton, someOtherButton];
    
        self.saveBarButtonItem = saveButton;
    }
    
    - (void)someMethod
    {
        [self.navigationItem.rightBarButtonItems enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){
            UIBarButtonItem *barItem = (UIBarButtonItem *)obj;
            if ([barItem.title isEqualToString:NSLocalizedString(@"Save", nil)]) {
                barItem.enabled = NO;
            }
        }];
    }

    Задача: включать/выключать кнопку по определенному событию.

    gumbert, 02 Октября 2014

    Комментарии (1)
  8. Java / Говнокод #16759

    +76

    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
    static final String MIN_INTEGER = String.valueOf(Integer.MIN_VALUE);
      static final String MAX_INTEGER = String.valueOf(Integer.MAX_VALUE);
      static final String MIN_LONG = String.valueOf(Long.MIN_VALUE);
      static final String MAX_LONG = String.valueOf(Long.MAX_VALUE);
    
      static final int NS_INTEGER = 1;
      static final int NS_LONG = 2;
    
      /**
       * Проверяет, является ли передаваемая строка строковым представлением числа типа int (long)
       * @param s строка для проверки
       * @return <code>true</code>, если строка может быть распарсена как int (ling).
       * @see Integer#parseInt
       * @see Long#parseLong
       */
      private static boolean isNumber(String s, int NUMBER_SIZE) {
        String MIN_NUMBER = "", MAX_NUMBER = "";
        switch (NUMBER_SIZE) {
          case (NS_INTEGER):
            MIN_NUMBER = MIN_INTEGER;
            MAX_NUMBER = MAX_INTEGER;
          break;
          case (NS_LONG):
            MIN_NUMBER = MIN_LONG;
            MAX_NUMBER = MAX_LONG;
          break;
        }
        if (s == null) return false;
        final int len = s.length();
        boolean negative = false;
        int pos = len > 0 && (negative = s.charAt(0) == '-') ? 1 : 0;
        if (pos == len) return false;
        while (pos < len && s.charAt(pos) == '0') pos++; //пропустим 0
        if (pos == len) return true; // там 0
        // если длина заведомо больше, то и значение по-любому выходит за пределы
        if (negative && len - pos > MIN_NUMBER.length() - 1 || len - pos > MAX_NUMBER.length()) return false;
        // нужно проверять предельные значения
        boolean needCheckRange = negative && len - pos == MIN_NUMBER.length() - 1 || len - pos == MAX_NUMBER.length();
        if (needCheckRange) {
          final String rangeString = negative ? MIN_NUMBER : MAX_NUMBER;
          for (int i = negative? 1:0; pos<len; pos++,i++) {
            final char c = s.charAt(pos);
            char r = 0;
            if (c < '0' || c > '9' ||
                (needCheckRange && c > (r = rangeString.charAt(i))) ||
                ((needCheckRange &= c == r) && false))
              return false;
          }
        } else {
          for (;pos<len;pos++) {
            final char c = s.charAt(pos);
            if (c < '0' || c > '9')
              return false;
          }
        }
        return true;
      }

    glprizes, 24 Сентября 2014

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (($parents = $method_id->getParentRepeated()) || ($parents = $method_id->getParentGroups())) {
       if(!is_array($parents)){
            $parents=[$parents];
       }
       foreach($parents as $parent){
        ......
       }
    }

    О_____________О
    и после этого ты говоришь что я перемурил с замыканиями? :D

    limitium, 23 Сентября 2014

    Комментарии (1)
  10. JavaScript / Говнокод #16750

    +156

    1. 1
    jQuery("#myId"+object+".myTr"+array.length-1).append(JSON.parse(object));

    Appending result to grid table

    armengabriel, 22 Сентября 2014

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

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public function getByAllParameters()
        {
            $fields = array_keys($this->getFields());
            unset($fields[0]);
            sort($fields);
            if($this->getByConditions(array('id_user', 'status', 'card_bin', 'card_suffix', 'id_card_type', 'card_token'))){
                $processing = new Processing();
                $processing->id = $this->id_processing;
                return $processing->getByPrimary() && $processing->enabled == 1;
            }
            return false;
        }

    dimkich, 11 Сентября 2014

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