• Acters@lemmy.world
    link
    fedilink
    English
    arrow-up
    21
    ·
    edit-2
    24 days ago

    Those are rookie lines of code numbers right there.
    I would have done it without the ==

    internal static bool AreBooleansEqual(bool orig, bool val)
    {
        if(orig) 
        {
            if(val)
                return false
            return true
        }
        if(val)
            return true 
        return false
    }
    

    Don’t know why their code returns false when they are equal but I’m not going to dig through old code to refactor to use true instead of false.

      • Acters@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        24 days ago

        I was debating on bitwise operations, but decided on super basic if statements which I think the compiler would optimize, happy to see the logical operation form too

    • InFerNo@lemmy.ml
      link
      fedilink
      English
      arrow-up
      5
      ·
      24 days ago

      Put more curly brackets around your if (val) true statement for 4 more lines, put elses in there for more lines even.

      • Acters@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        ·
        edit-2
        24 days ago

        I should have created a local variable to store the result variable and return after the if statements. I just couldn’t help to make it look partially nice. My brain just doesn’t think at this high caliber of LOC optimizations.

        New optimized LOC version:

        internal static bool AreBooleansEqual(bool orig, bool val)
        {
            bool result;
            if(orig) 
            {
                if(val)
                {
                    result = false;
                }
                else
                {
                    result = true;
                }
            }
            else
            {
                if(val)
                {
                    result = true;
                }
                else
                {
                    result = false;
                }
            }
            return result;
        }
        

        My previous LOC: 12
        New LOC version: 27