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

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

    +1

    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
    export default class CheckboxFilter extends React.PureComponent {
    
      private handleChange = (field: string) => (value: unknown) => {
        const { onChange } = this.props;
        onChange({params: { [field]: value }})
      };
    
      private onChangeValue(value: string, onChange: (value: string | null) => void, checked: boolean) {
        onChange(checked ? value : null);
      }
    
      private onChange = (e: any) => {
        const {value, type} = this.props;
        if(value) {
          this.onChangeValue.bind(null, value, this.handleChange(type))(e);
        } else {
          this.handleChange(type)(e);
        }
      }
    
      public render() {
        const {checked, children} = this.props;
    
        return (
            <Checkbox
              onChange={this.onChange}
              name='check'
              checked={checked}
            >
              {children}
            </Checkbox>
        )
      }
    };

    Код на react / typescript.
    Особое внимание методу onChange

    gooseim, 12 Сентября 2019

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

    +4

    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
    private async Task CountResultAsync(IProgress<bool> progress)
    {
         object sync = new object();
    
        await Task.Run(() => Parallel.For(0, _dataList.Count, i =>
        {
            lock (sync)
            {
                 var index = _dataList.FindIndex(m => m.FullPath.Equals(_dataList[i].FullPath));
    
                _dataList[index] = new GridModel()
                {
                    FullPath = _dataList[i].FullPath,
                    Name = _dataList[i].Name,
                    Checksum = GetFileChecksum(_dataList[i].FullPath),
                    IsCompleted = true
                };
           }
        }));
    }

    Когда кто-то пытается написать параллельный код, но что-то идет не так.

    ShockWorker, 13 Июня 2019

    Комментарии (7)
  4. Lua / Говнокод #25633

    +1

    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
    utf8 = {}
    function utf8.charbytes(s, i)
       -- argument defaults
       i = i or 1
       local c = string.byte(s, i)
       
       -- determine bytes needed for character, based on RFC 3629
       if c > 0 and c <= 127 then
          -- UTF8-1
          return 1
       elseif c >= 194 and c <= 223 then
          -- UTF8-2
          local c2 = string.byte(s, i + 1)
          return 2
       elseif c >= 224 and c <= 239 then
          -- UTF8-3
          local c2 = s:byte(i + 1)
          local c3 = s:byte(i + 2)
          return 3
       elseif c >= 240 and c <= 244 then
          -- UTF8-4
          local c2 = s:byte(i + 1)
          local c3 = s:byte(i + 2)
          local c4 = s:byte(i + 3)
          return 4
       end
    end
    
    function utf8.len(s)
       local pos = 1
       local bytes = string.len(s)
       local len = 0
       
       while pos <= bytes and len ~= chars do
          local c = string.byte(s,pos)
          len = len + 1
          
          pos = pos + utf8.charbytes(s, pos)
       end
       
       if chars ~= nil then
          return pos - 1
       end
       
       return len
    end
    
    print(utf8.len("Аутизм")) --6
    
    local mt = {__len = function(self) 
          local k=0
          for _,v in pairs(self) do 
            k = k+1;
            if k > 1 then  print(1) return #self end
          end
          if k==1 and type(self[1])=="string" then
            print(utf8.len(self[k]))
          end
        end};
    setmetatable(_G,{
        __index = function(self, key) return setmetatable({key},mt) end} 
      )
    t=(#Аутизм) --12

    Чот пытался - но словил хуйца.

    3oJIoTou_xyu, 22 Мая 2019

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    namespace belugina
    {
    struct list {               
             type elem ;              
             list *next, *pred ;             
    }
    list *headlist ; 
    }

    не могу понять что люблю больше, английски или транслит.

    dethless, 19 Мая 2019

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

    0

    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
    void  converting(char *in, char *out, node *PTR, char (checking_stack)(node), void (push)(node *topPTR, char value), int (pop)(node *fix), int (isOper)(char c), int (precedence_intro)(char data_1, char  data_2, int(intro_precedence_power)(int res_1, int  res_2)), int(intro_precedence_power)(int res_1, int  res_2)) {
    
    	int k = 0, j = 0, d = 0;
    	
    	push(PTR, '(');
    	
    	for (k = 0; checking_stack((node)PTR) != 0; k++) {
    	
    		if (isdigit(in[k])) {
    			
    			out[j++] = in[k];
    
    		}
    
    		if (in[k] == '(') {
    
    			push(PTR, in[k]);
    
    		}
    
    		if (isOper(in[k]) == 1) {
    
    			while (precedence_intro((*PTR)->alpha, in[k], intro_precedence_power) != -1) {
    
    				out[j++] = pop(PTR);
    			}
    
    			push(PTR, in[k]);
    		}
    		
    		if (in[k] == ')') {
    
    			d = pop(PTR);
    			for (; d != '('; d = pop(PTR)) {
    				out[j++] = d;
    			}
    		}
    	}
    }
    
    
    
    
    
    int precedence(char data_1, char   data_2, int(intro_precedence_power)(int res_1, int  res_2))  {
     char collection[] = "+1-1*2/2^3";	
     
     char	buf_1 = (char)strcspn(  collection , &data_1) + 1;
     char	buf_2 = (char)strcspn(collection, &data_2) + 1;
    
    	return   intro_precedence_power(atoi(&collection[buf_1]), atoi(&collection[buf_2]));
    }
    
    int precedence_power(int res_1, int  res_2) {
    	if (res_1 < res_2) {
    		return   -1;
    	}
    	else	if (res_1 == res_2) {
    		return 	  0;
    	}
    	else	if (res_1 > res_2) {
    		return	  1;
    	}
    	return 0;
    }

    Якобы вычисляет обратною польскою нотацию номер два

    lazy_8, 19 Апреля 2019

    Комментарии (7)
  7. PHP / Говнокод #25542

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (...) {
       if(...) {
          ...
       } else {
          return $this->render('error', array("case" => 1));
       }
    } else {
       return $this->render('error', array("case" => 2));
    }

    И сразу понятно, какая ошибка прозошла (нет)

    Hvreg, 15 Апреля 2019

    Комментарии (7)
  8. Python / Говнокод #25524

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    for i in for i in itertools.count():
        # ...
        if i >= x:
            break

    syoma, 08 Апреля 2019

    Комментарии (7)
  9. Куча / Говнокод #25419

    0

    1. 1
    git https://u.to/4JrPFA

    Оригинал http://govnokod.ru/25418

    3_15dar, 02 Марта 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    #pragma once
    
    #define ENUM_DECLARE_BEGIN(enum_class, enum_value) \
    class enum_class##__enum__##enum_value : public enum_class {
    
    #define ENUM_DECLARE_END(enum_class, enum_value) \
    }; extern const enum_class##__enum__##enum_value enum_value;
    
    #define ENUM_DEFINE(enum_class, enum_value, enum_namespace) const enum_class##__enum__##enum_value enum_namespace enum_value;

    UsernameAK, 10 Февраля 2019

    Комментарии (7)
  11. Куча / Говнокод #25290

    0

    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
    Подключить (Написать/Вывести на экран)
    
    Точка старта
    выбор (любое)
    счётчик (только цыферка) равен 0
    написать выбор
    Если выбор (статус цыферка) то выбор (теперь буковка)
    Пока выбор не равен буковка(А или Б или В)
      Делать вот это
      Если счётчик больше 9 то Аварийное завершение
      написать выбор
      прибавить 1 к счётчик
      До сюда
    Вывести выбор и счётчик
    Удалить выбор и счётчик
    Точка завершения

    C/C++ подобный псевдокод на русском с dynamic/static типизацией

    BelCodeMonkey, 06 Января 2019

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