1. C++ / Говнокод #23432

    +3

    1. 1
    https://pbs.twimg.com/media/DMbz4s9UEAACa5x.jpg

    how to deprecate an interface

    j123123, 19 Октября 2017

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

    −2

    1. 1
    2. 2
    Возврат;	
    КонецПроцедуры

    Процедуры!!!

    qwertyk, 18 Октября 2017

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

    +3

    1. 1
    2. 2
    3. 3
    Остатки.Очистить();
    ДокиОстатков = Остатки.Скопировать();
    ДокиОстатков.Свернуть("НомерВС");

    середина функции, никаких если, и прочих ветвлений, условий исключений...

    qwertyk, 18 Октября 2017

    Комментарии (2)
  4. Java / Говнокод #23429

    +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
    List<Address> addresses = loadFromDatabase();
    
    Map<Integer, Address> sortMap = new HashMap<>();
    for (Address address : addresses) {
        if (address.getLatitude() != null && address.getLongitude() != null) {
            sortMap.put(new Coords(address.getLatitude(), address.getLongitude()).hashCode(), address);
        }
    }
    addresses = new ArrayList<>(sortMap.values());
    
    ...
    class Coords {
        ...
        @Override
        public int hashCode() {
            final int prime = 31;
            int result = 1;
            result = prime * result + latitude.hashCode();
            result = prime * result + longitude.hashCode();
            return result;
        }
    }

    Автор так решил рандомизировать список что-ли? Не понимаю.

    moonson, 18 Октября 2017

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

    0

    1. 1
    https://pastebin.com/pk5bB1Y4

    Я вам покушать принес. Задача кратко и четко объяснить человеку, почему лучше обмазаться дотнетом чем винапи. Пока решил написать группе что следующий факультатив (на котором я должен разбирать их портянки) отменяется, а там что-нибудь придумаю. Две крайности - (new EchoServer).start() и вот это, что ты будешь делать.

    Fluttie, 18 Октября 2017

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

    +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
    Для каждого стр из Объект.УчётВремени цикл
    			НРВ = 0;
    			Если 
    				НачалоДня(стр.ДатаНачала) <> НачалоДня(стр.ДатаОкончания) 
    			Тогда
    				НРВ = НРВ + (стр.ДатаОкончания - Стр.ДатаНачала) /60 /60
    			ИначеЕсли //Начало и окончание задачи до начала рабочего дня
    				(Час(стр.ДатаНачала) < 10 или ( Час(стр.ДатаНачала) = 10 и Минута(стр.ДатаНачала) <=30)) и 
    				(Час(стр.ДатаОкончания) < 10 или ( Час(стр.ДатаОкончания) = 10 и Минута(стр.ДатаОкончания) <=30))
    			Тогда
    				НРВ = НРВ +  ((стр.ДатаОкончания - стр.ДатаНачала) /60 /60)
    			ИначеЕсли //Начало задачи до начала рабочего дня, окончание во время рабочего дня
    				(Час(стр.ДатаНачала) < 10 или ( Час(стр.ДатаНачала) = 10 и Минута(стр.ДатаНачала) <=30)) и 
    				(Час(стр.ДатаОкончания) < 19 и (Час(стр.ДатаОкончания) > 11 или ( Час(стр.ДатаОкончания) = 10 и Минута(стр.ДатаОкончания) > 30)))
    			Тогда
    				НРВ = НРВ +  ((НачалоДня(стр.ДатаОкончания) + ((10*60)*60) + 1800 - стр.ДатаНачала) /60 /60)
    			ИначеЕсли   //Начало задачи в рабочее время и окончание задачи в нерабочее время
    				(Час(стр.ДатаНачала) < 19 и (Час(стр.ДатаНачала) > 11 или ( Час(стр.ДатаНачала) = 10 и Минута(стр.ДатаНачала) > 30))) и
    				Час(Стр.ДатаОкончания) >= 19
    			Тогда
    				НРВ = НРВ +  (стр.ДатаНачала - (НачалоДня(стр.ДатаОкончания) + ((19*60)*60))) /60 /60
    			ИначеЕсли
    				Час(стр.ДатаНачала) >= 19 и Час(стр.ДатаОкончания) >= 19  
    			Тогда
    				НРВ = (стр.ДатаОкончания - Стр.ДатаНачала) /60 /60
    				
    			КонецЕсли;
    			стр.НРВ = НРВ;	
    				
    			Время = (стр.ДатаОкончания - стр.ДатаНачала) /60 /60;
    			РВ = Время - НРВ;
    			стр.РВ = РВ;
    			стр.Время = Время;
    			
    			
    		КонецЦикла;

    Вроде работает

    spaceashot, 18 Октября 2017

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

    +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
    // https://github.com/vk-com/kphp-kdb/blob/ce6dead5b3345f4b38487cc9e45d55ced3dd7139/bayes/bayes-data.c#L1966
    
    int init_all (kfs_file_handle_t Index) {
      int i;
    
      log_ts_exact_interval = 1;
    
      ltbl_init (&user_table);
    
      bl_head = qmalloc (sizeof (black_list));
      black_list_init (bl_head);
    
      int f = load_header (Index);
    
      jump_log_ts = header.log_timestamp;
      jump_log_pos = header.log_pos1;
      jump_log_crc32 = header.log_pos1_crc32;
    
      int user_cnt = index_users = header.user_cnt;
    
      if (user_cnt < 1000000) {
        user_cnt = 1000000;
      }
    
      assert (user_cnt >= 1000000);
      user_cnt *= 1.1;
    
      while (user_cnt % 2 == 0 || user_cnt % 5 == 0) {
        user_cnt++;
      }
    
      ltbl_set_size (&user_table, user_cnt);
      users = qmalloc (sizeof (user) * user_cnt);
    
      for (i = 0; i < user_cnt; i++) {
        user_init (&users[i]);
      }
    
      LRU_head = users;
      LRU_head->next_used = LRU_head->prev_used = LRU_head;
    
      if (f) {
        try_init_local_uid();
      }
    
      if (index_mode) {
        buff = qmalloc (max_words * sizeof (entry_t));
        new_buff = qmalloc (4000000 * sizeof (entry_t));
      }
    
      return f;
    }

    http://govnokod.ru/23357#comment390273
    > Говорят что в ВК в начале была такая херь: "уже зарегистрировано N" и это N увеличивалось джаваскриптом со случайной скоростью вообще без связи с сервером

    Если я правильно понял, вконтакт продолжает пиздеть по поводу фактического количества зареганых на нем пользовалелей, но теперь делает это на бэкенде

    user_cnt *= 1.1;

    cunt

    j123123, 17 Октября 2017

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <?php
    class Foo implements JsonSerializable {
      public function jsonSerialize() {
        return new self;
      }
    }
    
    # Segfault!
    var_dump(json_encode(new Foo));

    https://habrahabr.ru/company/mailru/blog/340242/
    😆

    inho, 17 Октября 2017

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    $fileName = substr(md5(microtime() . md5(rand(0, 4)) . md5(123)), 0, 5);
    $fileName .= '-' . substr(md5(microtime() . md5(rand(0, 4)) . md5(123)), 5, 8);
    $fileName .= '-' . substr(md5(microtime() . md5(rand(0, 4)) . md5(123)), 0, 5);
    $fileName .= '.' . end($ext);

    Генерация имени файла

    FireDemonru, 17 Октября 2017

    Комментарии (2)
  10. VisualBasic / Говнокод #23423

    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
    Private Function DecodName(ByVal ind As Integer) As String
            ''перекодування назви місяця
            Select Case ind
                Case 1
                    Return "Січень"
                Case 2
                    Return "Лютий"
                Case 3
                    Return "Березень"
                Case 4
                    Return "Квітень"
                Case 5
                    Return "Травень"
                Case 6
                    Return "Червень"
                Case 7
                    Return "Липень"
                Case 8
                    Return "Серпень"
                Case 9
                    Return "Вересень"
                Case 10
                    Return "Жовтень"
                Case 11
                    Return "Листопад"
                Case 12
                    Return "Грудень"
                Case Else
                    Return ""
            End Select
        End Function

    Мои глаза...

    vova94, 17 Октября 2017

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