Today I was checking the code, the latest push to the git repo, as I always do, and I saw something that was wrong.
Often Engineers can be confused by the ways different languages treat similar operations, so similarly as POSIX I try to use an standard way to program in any language that makes the code very clear and easy to understand, no matter if it’s C, Java, Python, PHP…
My code and the code of my Teams will be clear, and easy to understand. And as the good Engineers jump from language to language upon the needs, is better for all to proceed like this to avoid confusions.
In this case I want to cover a simple case that I detected. A wrong usage.
The code was returning True on success and if not simply return.
Here I show a simple demonstration that return itself will be returning return None.
# Proof of Concept for avoiding return without the type
# Author: Carles Mateo
# Creation Date: 2018-03-27
#
from pprint import pprint
def boolean_test(b_value):
if b_value is False:
return
return True
b_true = boolean_test(True)
b_false = boolean_test(False)
pprint(b_true)
pprint(b_false)
if b_false is False:
print “I detect it as False (even if it’s None)”
if b_false is True:
print “I detect it as True (even if it’s None)”
if b_false is None:
print “It is None!”
print “Be careful”
Variables use the MT Notation. I include tips like this and guidelines in programming guide for my Teams.