1. Список говнокодов пользователя TarasB

    Всего: 95

  2. Куча / Говнокод #28441

    −4

    1. 1
    2. 2
    3. 3
    4. 4
    Поскольку раздела по Rust нету,  о чём я сожалею, выложу тут:
    https://internals.rust-lang.org/t/subscripts-and-sizes-should-be-signed/17699/83
    
    В целом же я считаю, что несмотря на это всё, Rust классный и перспективный язык, нападки Царя сосут, но индексы должны быть знакового типа.

    TarasB, 10 Ноября 2022

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    impl Drop for FileDesc {
        fn drop(&mut self) {
            // Note that errors are ignored when closing a file descriptor. The
            // reason for this is that if an error occurs we don't actually know if
            // the file descriptor was closed or not, and if we retried (for
            // something like EINTR), we might close another valid file descriptor
            // opened after we closed ours.
            let _ = unsafe { libc::close(self.fd) };
        }
    }

    https://github.com/rust-lang/rust/blob/master/library/std/src/sys/unix/fd.rs#L294
    Похуй на ошибки возврата, да? Ведь из деструктора вернуть код ошибки нельзя, а исключения... А, это ж Раст, хуй с ними с исключениями короче.
    Для ШЫНДОШЫ такая же хуйня, но тут они даже камент написать постыдились: https://github.com/rust-lang/rust/blob/master/library/std/src/sys/windows/handle.rs#L54

    Вручную скинуть буфер на диск - тоже нечем, потому что функция, которой я пользовался в сишке, тут бесполезна:
    https://github.com/rust-lang/rust/blob/master/library/std/src/sys/unix/fs.rs#L861
    https://github.com/rust-lang/rust/blob/master/library/std/src/sys/windows/fs.rs#L438

    Короче, мне тут продакшон код надо писать за зарплату, а я не знаю, как вернуть юзеру информацию о неудачном закрытии. Что делать-тоа?!

    TarasB, 09 Февраля 2021

    Комментарии (54)
  4. Си / Говнокод #21158

    −50

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int iStartX = max(0, -padL);
      int iStartY = max(0, -padT);
      int oStartX = max(0, padL);
      int oStartY = max(0, padT);
    
      int inputPointX = min(max(padL, outputPointX), input.getSize(3) + padL - 1) - oStartX + iStartX;
      int inputPointY = min(max(padT, outputPointY), input.getSize(2) + padT - 1) - oStartY + iStartY;

    Я правильно упростил эту хрень?
    int inputPointX = min(max(0, outputPointX), input.getSize(3) - 1) - oStartX + iStartX;
    int inputPointY = min(max(0, outputPointY), input.getSize(2)- 1) - oStartY + iStartY;

    TarasB, 09 Сентября 2016

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

    +3

    1. 1
    Point3D& operator /= (const float f) { x/=f; y/=f; z/=f; return *this; }

    ебать я лох

    TarasB, 06 Июля 2016

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

    0

    1. 1
    Тарас с сайта ebanoe.it это не я

    TarasB, 11 Мая 2016

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

    −50

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    static int PC=0;
      ++PC;
    
      if (PC==1331) {
        PC=1331;
      }

    Часто так делаю. Надо.

    TarasB, 25 Марта 2016

    Комментарии (36)
  8. Си / Говнокод #19307

    −46

    1. 1
    https://www.youtube.com/watch?v=CLs7TNj5GNA

    смотреть на 28й секунде в высоком качестве
    (да, я передаю функтор по ссылке с контекстом)

    TarasB, 14 Января 2016

    Комментарии (53)
  9. C++ / Говнокод #19303

    +2

    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
    /***
    *assert.h - define the assert macro
    *
    *       Copyright (c) Microsoft Corporation. All rights reserved.
    *
    *Purpose:
    *       Defines the assert(exp) macro.
    *       [ANSI/System V]
    *
    *       [Public]
    *
    ****/
    
    
    /*
    #include <crtdefs.h>
    
    #undef  assert
    
    #ifdef  NDEBUG
    
    #define assert(_Expression)     ((void)0)
    
    #else
    
    #ifdef  __cplusplus
    extern "C" {
    #endif
    
    _CRTIMP void __cdecl _wassert(_In_z_ const wchar_t * _Message, _In_z_ const wchar_t *_File, _In_ unsigned _Line);
    
    #ifdef  __cplusplus
    }
    #endif
    
    #define assert(_Expression) (void)( (!!(_Expression)) || (_wassert(_CRT_WIDE(#_Expression), _CRT_WIDE(__FILE__), __LINE__), 0) )
    
    #endif   */
    
    #pragma once
    #ifdef NDEBUG
    #define assert(expr)
    #else
    inline void CheckExpression_(bool expr)
    {
    	if (!expr)
    	{
    		expr=true; // put breakpoint here, happy user;
    		CheckExpression_(expr);
    	}
    }
    
    inline void CheckExpression_(void* expr)
    {
    	if (!expr)
    	{
    		expr=(void*)(1); // put breakpoint here, happy user;
    		CheckExpression_(expr);
    	}
    }
    
    #define assert(expr) CheckExpression_(expr);
    #endif

    Сука я не знаю, почему в студии-2008 родной ассерт показывает не ту строку, на которой он произошёл и в стеке вызовов хуйня какая-то, и как подключить DebugBreak я тоже не знаю, потому что в windef.h куча хуеты, выдающей 100500 ошибок компиляции. Чтобы хоть как-то можно было жить, пришлось сделать так.

    TarasB, 13 Января 2016

    Комментарии (56)
  10. Куча / Говнокод #18579

    +7

    1. 1
    assert(False, "todo");

    TarasB, 05 Августа 2015

    Комментарии (20)
  11. Pascal / Говнокод #17759

    +94

    1. 1
    2. 2
    SetLength(kokoko, Length(kokoko)+1);
    kokoko[Length(kokoko)-1] := Something;

    БЕСИТ

    TarasB, 10 Марта 2015

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