1. C# / Говнокод #14179

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public Normalizer(Int32 totalElementsCount)
    {
        _totalElementsCount = totalElementsCount;
        _delta = Int32.MaxValue / (2 * totalElementsCount);
        if (_delta == 0)
            throw new OverflowException("Too much normalizated records.");
    }

    Осталось от старых разработчиков. Долго не могли понять, почему кидается DivideByZeroException

    botinko, 05 Декабря 2013

    Комментарии (22)
  2. JavaScript / Говнокод #14178

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if(window.SomeModeMap) // OK
      ...
    
    if(window.SomeModeMap && value instanceof window.SomeModeMap) // OK
      ...
    
    if(window.SomeModeMap && value instanceof window.SomeNodeMap) // WTF, Error
      ...

    Автодополнение - это уникальный инструмент для тиражирования опечаток.

    1024--, 04 Декабря 2013

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

    −117

    1. 1
    2. 2
    3. 3
    4. 4
    For i=@stroca$ To @stroca$+(#size*2)-500 Step 2
      PokeS(i,"5")
    Next
    PokeS(@stroca$+(#size*2)-500,"555555555555.....")

    Еще один дебил.
    Взято с http://purebasic.info/phpBB3ex/viewtopic.php?f=13&t=3588

    Stertor, 04 Декабря 2013

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

    +152

    1. 1
    public function getNearestRoadsOrderedByDistanceFromOverpassAPI ($point, $radius = 1000, $highway = FALSE, $raw = FALSE, $json = FALSE)

    за то со смыслом!

    nonamez, 04 Декабря 2013

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

    +9

    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
    // fib.h
    #pragma once
    using ull = unsigned long long;
    
    inline constexpr ull fib(size_t n, ull first, ull second) {
      return n == 0 ? first : fib(n - 1, second, first + second);
    }
    
    inline constexpr ull fib(size_t n) {
      return fib(n, 0, 1);
    }
    // fibs.h
    #pragma once
    #include "fib.h"
    #include <array>
    
    enum class fibs : ull {
    #define FIB(i, val) fib##i = val,
    #define COUNT(val) COUNT = val
    #include "fibs.inl"
    #undef COUNT
    #undef FIB
    };
    
    std::array<ull, static_cast<size_t>(fibs::COUNT)> const & fibs_values() {
      static std::array<ull, static_cast<size_t>(fibs::COUNT)> values = {
    #define FIB(i, val) val,
    #define COUNT(val)
    #include "fibs.inl"
    #undef COUNT
    #undef FIB
      };
      return values;
    }
    // main.cpp
    #include "fibs.h"
    #include <iostream>
    
    int main() {
      using namespace std;
      for (auto fib : fibs_values()) {
        cout << fib << "," << endl;
      }
      return 0;
    }
    // fibs.inl = gen.exe > fibs.inl
    // gen.cpp
    #include "fib.h"
    #include <iostream>
    
    int main() {
      using namespace std;
      size_t i;
      for (i = 0; i < 94; i++) {
        cout << "FIB(" << i << ", " << fib(i) << ")" << endl;
      }
      cout << "COUNT(" << i << ")";
      return 0;
    }

    LispGovno, 04 Декабря 2013

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

    +139

    1. 1
    2. 2
    byteL = (length & (0x00ff));
    byteH = (length - byteL)>>BITS_IN_BYTE;

    Вдруг биты справа полезут прямо из компьютера, давайте вычтем!
    Макрос BITS_IN_BYTE особенно радует!

    sermp, 04 Декабря 2013

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

    +13

    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
    auto write =    [&buf](future<int> size) -> future<bool>    { 
      return streamW.write(size.get(), buf).then(
        [](future<int> op){
          return op.get() > 0; });    };   
    auto flse = [](future<int> op){
     return future::make_ready_future(false);};  auto copy = do_while(
        [&buf]() -> future<bool>    {
         return streamR.read(512, buf)    .then(
           [](future<int> op){ return (op.get() > 0) ? write : flse;});    });  
    
    ///////////////////////////////////////////////////////////////////////////
    
    int cnt = 0;   
    do  {  
    cnt = await streamR.read(512, buf);   
    if ( cnt == 0 ) break;   
    cnt = await streamW.write(cnt, buf);   
    } while (cnt > 0);

    Первое и второе угадайте что? Правильно, С++. В компиляторе студии и первое и второе будет. Первое уже даже есть. Ни первое ни второе не приняли в стандарт на сколько мне известно и надеюсь лобисты Майкрософт во главе с Саттером пойдут на ... подальше от крестов.

    www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3722.pdf

    LispGovno, 03 Декабря 2013

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

    +8

    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
    void print(int i) {printf("int: %d\n", i);}
    void print(double f) {printf("double: %f\n", f);}
    void print(char const * c) {printf("str: %s\n", c);}
    
    void WTF(...) {}
    
    template<typename... T>
    void print(T ... t) 
    {
      WTF((print(t), 0)...);
    }
    
    int main()
    {
      print(1, "hello", 3.0);
      return 0;
    }

    http://ideone.com/wddRC7

    LispGovno, 03 Декабря 2013

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

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    S consume (S) (ref S data, Regex ! ( Unqual!(typeof(S.init[0])) ) rg)
    {
        writeln (typeid(Unqual!(typeof(S.init[0]))));
    
        auto m = match(data, rg);
        return m.hit;
    }

    LispGovno, 03 Декабря 2013

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

    +14

    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
    Node<maxCnt>   n[sizeY][sizeX], on;
    //...
    auto EachConvex = [](auto f, Body& b) 
    {
      for (auto g : b.g)
      {
        auto cp = Body::ConvexPtr(&b, g);
        auto bounds = cp.bounds();
        auto max = Rect(0, 0, sizeX - 1, sizeY - 1);
        auto out = max.intersect(bounds);
        auto b = max & bounds;
        for (auto x = b.left; x < b.right; ++i)
          for (auto y = b.top; x < b.bottom; ++i)
            f(n[y][x], cp);
        if (out)
          f(on, cp);      
      }
      return true;
    }

    LispGovno, 03 Декабря 2013

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