zoukankan      html  css  js  c++  java
  • 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")
    
    

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

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

    结论

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

  • 相关阅读:
    机器学习之路--Python
    机器学习之路--Pandas
    机器学习之路--seaborn
    机器学习之路--Matplotlib
    囫囵吞枣——SVG
    囫囵吞枣——XML
    囫囵吞枣——Jquery 笔记
    囫囵吞枣——JavaScript
    囫囵吞枣——CSS3
    囫囵吞枣——CSS笔记
  • 原文地址:https://www.cnblogs.com/meiguhuaxian/p/12580695.html
Copyright © 2011-2022 走看看