Why do we prefix the variables with an underscore? Is it for avoiding name conflicts?

If the answer is yes, it might be worth splitting this in multiple methods