if语句嵌套的可读性和简洁性选择

如果在下面两种情况下,该如何选择:
情况一:

    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")

从两个角度分析,上述代码的写法:

  • 可读性
    • 第二种方式比第一种方式可读性更高点。第一种方式你需要对这种编码方式很熟悉,自动分类。
  • 可拓展性:开闭原则
    • 第二种方式,可以方便拓展。
  • 代码的简洁性
    • 第一种方式肯定简洁了。

结论

个人更倾向第二种写法,代码可读性和易于扩展更重要。

猜你喜欢

转载自www.cnblogs.com/meiguhuaxian/p/12580695.html