如果在下面两种情况下,该如何选择:
情况一:
if Person == "Man" and Age < 30 or Person == "Woman" and Age < 30:
print("XXXXX1")
#一系类操作
print("XXXXX1")
elif Person == "Man" and Age > 30 or Person == "Woman" and Age > 30:
print("XXXXXX2")
#一系类操作
print("XXXXX2")
情况二:
if Person == "Man" :
if Age < 30:
print("XXXXX1")
#一系类操作
print("XXXXX1")
else :
print("XXXXXX2")
#一系类操作
print("XXXXX2")
elif Person == "Woman":
if Age < 30:
print("XXXXX1")
#一系类操作
print("XXXXX1")
else :
print("XXXXXX2")
#一系类操作
print("XXXXX2")
## 也可以写成switch的形式p[其他语言]
if Person == "Man" :
if Age < 30:
Action1()
else :
Action2()
elif Person == "Woman":
if Age < 30:
Action1()
else :
Action2()
def Action1():
print("XXXXX1")
#一系类操作
print("XXXXX1")
def Action2():
print("XXXXX2")
#一系类操作
print("XXXXX2")
## 也可以写成标志位[其他语言]
if Person == "Man" :
ActionFlag=Action_2
if Age < 30:
ActionFlag=Action_1
elif Person == "Woman":
ActionFlag=Action_2
if Age < 30:
ActionFlag=Action_1
if ActionFlag==Action1:
print("XXXXX1")
#一系类操作
print("XXXXX1")
elif ActionFlag==Action2:
print("XXXXX2")
#一系类操作
print("XXXXX2")
从两个角度分析,上述代码的写法:
- 可读性
- 第二种方式比第一种方式可读性更高点。第一种方式你需要对这种编码方式很熟悉,自动分类。
- 可拓展性:开闭原则
- 第二种方式,可以方便拓展。
- 代码的简洁性
- 第一种方式肯定简洁了。
结论
个人更倾向第二种写法,代码可读性和易于扩展更重要。