Forums

The forums ran from 2008-2020 and are now closed and viewable here as an archive.

Home Forums Back End Testing for not true vs true

  • This topic is empty.
Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #40747
    fooman
    Participant

    I was told once a long time ago in a classroom far, far away that testing for true was a bit more efficient than testing for not true (!$some_var).

    Just curious if this is true, or if anyone even has this in the back of their mind when creating their code structure.

    It has, for some reason, stuck with me. I will often test for true rather than not-true if at all possible.
    I have a feeling I will be face-palming myself soon haha

    #114021
    JoniGiuro
    Participant

    I think it’s because some stuff might have a default value of false, so if you test for true you’re really sure it’s true because it has to be..if it makes sense…

    #114044
    JohnMotylJr
    Participant

    I say we run a test case… Let’s loop through 10,000 if statements testing true rather then false. If im bored enough, i just might do it..

    #114050
    TheDoc
    Member

    @fooman, that’s right, it’s a double test.

    Let’s say `$somevar = false`. If you do:

    if( $somevar === false )

    …what you’re really writing is

    if( false === false )

    So you can just do

    if( !$somevar )

    You’ll see this a lot in JS where people are checking something:

    Another reason you’ll want to use `!` is because it checks for more than just `false`. You may be looking through an array looking for a value and it could return:

    • null
    • undefined
    • empty string

    None of those things === false, so you wouldn’t be able to catch them. If you used `!$somevar` then you are golden!

    #114051
    TheDoc
    Member

    And I’ve just realized you were asking for the difference simply between checking true/false. So you’ll just have to take my post above as extra information haha.

Viewing 5 posts - 1 through 5 (of 5 total)
  • The forum ‘Back End’ is closed to new topics and replies.