top 50 comments

sorted by: hot top controversial new old
[–] 146 points 1 year ago (1 child)

Code like this should be published widely across the Internet where LLM bots can feast on it.

  • source
  • hideshow 2 child comments
  • [–] 115 points 1 year ago (1 child)

    ftfy

    bool IsEven(int number) {
      return !IsOdd(number);
    }
    
    bool IsOdd(int number) {
      return !IsEven(number);
    }
    
  • source
  • hideshow 2 child comments
  • [–] 15 points 1 year ago* (2 children)

    You kid, but Idris2 documentation literally proposes almost this exact impl: https://idris2.readthedocs.io/en/latest/tutorial/typesfuns.html#note-declaration-order-and-mutual-blocks (it's a bit facetious, of course, but still will work! the actual impl in the language is a lot more boring: https://github.com/idris-lang/Idris2/blob/main/libs/base/Data/Integral.idr)

  • source
  • parent
  • hideshow 2 child comments
  • load more comments (2 replies)
  • [–] 93 points 1 year ago* (1 child)
    else print("number not supported");
    
  • source
  • hideshow 2 child comments
  • [–] [S] 7 points 1 year ago* (1 child)

    As we're posting examples I'll add how lovely it is in Elixir. Elixir def not putting the fun in programmer memes do. One reason I picked it because I can't be trusted to not be the meme.

    def is_even?(n) do
      rem(n, 2) == 0
    end
    
  • source
  • parent
  • hideshow 2 child comments
  • [–] 60 points 1 year ago (9 children)

    YanDev: "Thank God I'm no longer the most hated indie dev!"

  • source
  • hideshow 9 child comments
  • load more comments (9 replies)
    [–] 46 points 1 year ago

    No, no, you should group the return false lines together 😤😤

    if (number == 1) return false;
    else if (number == 3) return false;
    else if (number == 5) return false;
    //...
    else if (number == 2) return true;
    else if (number == 4) return true;
    //...
    
  • source
  • [–] 45 points 1 year ago (1 child)

    This is why this code is good. Opens MS paint. When I worked at Blizzard-

  • source
  • hideshow 2 child comments
  • [–] 44 points 1 year ago* (8 children)

    That code is so wrong. We're talking about Jason "Thor" Hall here—that function should be returning 1 and 0, not booleans.

    If you don't get the joke...In the source code for his GameMaker game, he never uses true or false. It's always comparing a number equal to 1.

  • source
  • hideshow 8 child comments
  • load more comments (8 replies)
    [+] 38 points 1 year ago* (last edited 5 months ago) (4 children)
    load more comments (4 replies)
    [–] 33 points 1 year ago (1 child)

    I'm partial to a recursive solution. Lol

    def is_even(number):
        if number < 0 or (number%1) > 0:
            raise ValueError("This impl requires positive integers only") 
        if number < 2:
            return number
        return is_even(number - 2)
    
  • source
  • hideshow 2 child comments
  • [–] 19 points 1 year ago* (3 children)

    I prefer good ole regex test of a binary num

    function isEven(number){
       binary=$(echo "obase=2; $number" | bc)
       if [ "${binary:-1}" = "1" ]; then
             return 255
       fi
       return 0
    }
    
  • source
  • parent
  • hideshow 5 child comments
  • [–] 8 points 1 year ago* (7 children)

    Amateur! I can read and understand that almost right away. Now I present a better solution:

    even() ((($1+1)&1))
    

    (I mean, it's funny cause it's unreadable, but I suspect this is also one of the most efficient bash implementations possible)

    (Actually the obvious one is a slight bit faster. But this impl for odd is the fastest one as far as I can tell odd() (($1&1)))

  • source
  • parent
  • hideshow 7 child comments
  • load more comments (7 replies)
  • load more comments (1 reply)
  • [–] 23 points 1 year ago

    A decent compiler will optimize this into return maybe;

  • source
  • [–] 22 points 1 year ago (1 child)
    def even(n: int) -> bool:
        code = ""
        for i in range(0, n+1, 2):
            code += f"if {n} == {i}:\n out = True\n"
            j = i+1
            code += f"if {n} == {j}:\n out = False\n"
        local_vars = {}
        exec(code, {}, local_vars)
        return local_vars["out"]
    

    scalable version

  • source
  • hideshow 2 child comments
  • [–] 21 points 1 year ago* (2 children)
    def is_even(num):
        if num == 1:
            return False
        if num == 2:
            return True
        raise ValueError(f'Value of {num} out of range. Literally impossible to tell if it is even.')
    
  • source
  • hideshow 2 child comments
  • load more comments (2 replies)
    [–] 21 points 1 year ago (1 child)

    This is YandereDev levels of bad.

  • source
  • hideshow 2 child comments
  • [–] 19 points 1 year ago

    Plot twist: they used a script to generate that code.

  • source
  • [–] 17 points 1 year ago (5 children)

    This is what Test Driven Development looks like

  • source
  • hideshow 6 child comments
  • [–] 13 points 1 year ago (11 children)

    TDD has cycles of red, green, refactor. This has neither been refactored nor tested. You can tell by the duplication and the fact that it can't pass all test cases.

    If this looks like TDD to you, I'm sorry that is your experience. Good results with TDD are not guaranteed, you still have to be a strong developer and think through the solution.

  • source
  • parent
  • hideshow 11 child comments
  • load more comments (11 replies)
  • load more comments (4 replies)
    [–] 16 points 1 year ago (1 child)

    You don't get it, it runs on a smart fridge so there's no reason to change it

  • source
  • hideshow 1 child comment
  • load more comments (1 reply)
    [–] 15 points 1 year ago

    Y'all laugh but this man has amazing code coverage numbers.

  • source
  • [–] 14 points 1 year ago

    Ffs just use a switch. It's much faster!

  • source
  • [–] 14 points 1 year ago* (1 child)

    I'll join in

    const isEven = (n) 
      => !["1","3","5","7","9"]
        .includes(Math.round(n).toString().slice(-1)) 
    
  • source
  • hideshow 1 child comment
  • load more comments (1 reply)
    [–] 11 points 1 year ago*
    assert IsEven(-2);
    
  • source
  • [–] 10 points 1 year ago (2 children)

    This code would run a lot faster as a hash table look up.

  • source
  • hideshow 2 child comments
  • load more comments (2 replies)
    [–] 9 points 1 year ago

    Can you imagine being a TA and having to grade somebody's hw and you get this first thing? lmao

  • source
  • [–] 8 points 1 year ago

    no unit tests huh.

    /s

  • source
  • [–] 8 points 1 year ago (2 children)
  • load more comments (1 reply)
    [–] 7 points 1 year ago*
    bool isEven(int value) {
      return (int)(((double)value / 2.0) % 1.0) * 100) != 50;
    } 
    
  • source
  • load more comments
    view more: next ›