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

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

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

    结论

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

  • 相关阅读:
    简述Mesos API–files
    docker-compose常用命令
    Linux命令行--使用linux环境变量(转)
    docker:从 tomcat 容器连接到 mysql 容器
    开发环境、生产环境、测试环境的基本理解和区别(转)
    Linux命令行–更多bash shell命令(转)
    docker启动Mysql(转)
    Linux命令行–基本的bash shell命令
    浅谈 man 命令的日常使用
    Linux命令行–走进shell
  • 原文地址:https://www.cnblogs.com/meiguhuaxian/p/12580695.html
Copyright © 2011-2022 走看看