jeudi 27 septembre 2018

Is it better to use a boolean variable to replace an if condition for readability or not?

I am in the second year of my bachelor study in information technology. Last year in one of my courses they taught me to write clean code so other programmers have an easier time working with your code. I learned a lot about writing clean code from a video ("clean code") on pluralsight (paid website for learning which my school uses). There was an example in there about assigning if conditions to boolean variables and using them to enhance readability. In my course today my teacher told me it's very bad code because it decreases performance (in bigger programs) due to increased tests being executed. I was wondering now whether I should continue using boolean variables for readability or not use them for performance. I will illustrate in an example (I am using python code for this example):

  • example boolean variable

Let's say we need to check whether somebody is legal to drink alcohol we get the persons age and we know the legal drinking age is 21.

    is_old_enough = persons_age >= legal_drinking_age
    if is_old_enough:
        do something

My teacher told me today that this would be very bad for performance since 2 tests are performed first persons_age >= legal_drinking_age is tested and secondly in the if another test occurs whether the person is_old_enough. My teacher told me that I should just put the condition in the if, but in the video they said that code should be read like natural language to make it clear for other programmers. I was wondering now which would be the better coding practice.

  • example condition in if:

    if persons_age >= legal_drinking_age:
        do something
    
    

In this example only 1 test is tested whether persons_age >= legal_drinking_age. According to my teacher this is better code.

Thank you in advance!

yours faithfully

Jonas

Aucun commentaire:

Enregistrer un commentaire