首页 > 其他分享 >10、简化条件逻辑

10、简化条件逻辑

时间:2023-08-18 15:37:08浏览次数:38  
标签:10 检查 复杂度 简化 条件 条件逻辑 表达式

条件表达式的复杂度往往关系到整个软件的复杂度

10.1、分解条件表达式

  避免条件表达式过长,难于理解,所以该封装封装

10.2、合并条件表达式

  有时候,在我们的程序中包含这样一些条件检查,检查条件不同,但行为一致,在这种情况下,我们可以考虑合并条件检查,相反,如果你任务这些条件检查必须要独立,那就不进行合并

10.3、卫语句取代条件嵌套

  罕见的单独检查

10.4、多态取代多分支

  针对这种重构手法,一般呢,我们这样做,顶层做一个抽象类,定义一个底层必须实现的行为接口,继承顶层之后,重写每个子类的行为,而后每个不同的状态实例调用各自独特的行为

 

  

标签:10,检查,复杂度,简化,条件,条件逻辑,表达式
From: https://www.cnblogs.com/shixiaogu/p/17640637.html

相关文章

  • jmeter安装(windows10)
    jmeter安装1.JDK安装预先安装JDK,最好1.8版本以上2.JMETER安装1)下载安装官方下载地址:https://jmeter.apache.org/download_jmeter.cgi 下载后直接解压到自己配置的文件夹下就可以,比如C:\Jmeter\apache-jmeter-5.6.2 2)环境配置两种情况(1)只用这个版本进行测试,那就进行......
  • [LeetCode][10]regular-expression-matching
    ContentGivenaninputstrings andapatternp,implementregularexpressionmatchingwithsupportfor'.'and'*'where:'.'Matchesanysinglecharacter.​​​​'*'Matcheszeroormoreoftheprecedingelement.T......
  • 【8月19日】红帽openstack管理课程(CL210) 新一轮开课
    课程介绍通过实验室操作练习,学员将能够深入学习红帽企业LinuxOpenStack®平台各服务的手动安装方法,还将了解OpenStack开发社区的未来发展计划。培训地点:线下面授:苏州市姑苏区干将东路666号和基广场401室;远程直播:腾讯会议平台开课时间:2023年8月19日开始—9月16日结束课程对象负......
  • LeetCode[10]RegularExpressionMatching
    ContentGivenaninputstrings andapatternp,implementregularexpressionmatchingwithsupportfor'.'and'*'where:'.'Matchesanysinglecharacter.​​​​'*'Matcheszeroormoreoftheprecedingelement.T......
  • Mcuzone CM4_WiFi6 WLAN Pi扩展板,支持8265 AX200 AX210 MT7921 MT7961 RTL8822
    关键词:树莓派CM4  WLANPi  WLANPi英特尔8265AX200AX210MT7921MT7961RTL8822ScannerWiFi6Mcuzone野芯科技概述:WLANPi是一款用途很广泛的WiFi工具,可以测试网速,可以对WiFi信号进行频谱分析。WLANPi可以在很多硬件平台上运行,其中最典型的就是树莓派平台。......
  • 10.4K Star!程序员为程序员针对性优化的开源免费笔记
    平时我一直用Notion来记录内容为主,但也一直关注着其他开源产品。上周正好看到一款非常受欢迎的开源免费笔记,今天就推荐给大家:VNote。VNote一个由程序员为程序员打造的开源笔记应用,基于Qt开发,专注于使用Markdown来写作的群体。它提供完美的编辑体验和强大的笔记管理功能,使得使......
  • X710网卡LACP模式下ifdown网卡后交换机侧依然处于UP状态,导致网络通信异常
    以下配置属于临时配置,重启后失效,具体建议在bios或者固件中解决。主要包含两个配置:1、使用ifdown命令关闭网卡无法使linkdown,交换机侧依然认为端口UP进行流量转发,无法正常通信2、在某些环境中,LACP可能无法正常工作,这些环境要求将包含LCAP信息的LLDP帧转发到网络堆栈。#查看网卡......
  • 国产麒麟系统KylinOS Server V10 SP2安装MySQL 8.0.26—源码编译安装
    一:操作系统环境检查1.1首先确认操作系统版本是KylinOSServerV10SP2麒麟操作系统KylinosServerV10SP2使用的安装介质是Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso,执行以下命令查看版本:cat/etc/kylin-releasecat/proc/version 1.2检查系统是否......
  • Gym-103438C Werewolves
    Gym-103438CWerewolves题面有\(n(1\len\le3000)\)个节点的树,每个节点的颜色为\(c_i\)。请计算这个树存在多少不同的连通子图,满足这个连通子图中,存在某种颜色,其出现次数严格大于连通子图中节点数量的一半。简化题意first对于任意一个联通子图,如果该联通子图对答......
  • windows10 登陆FTP成功后总是打开两个窗口
     具体现象:使用windows资源管理器打开登陆FTP,登陆FTP成功后当前窗口显示此文件夹为空,不在当前窗口显示文件夹内容,却在当前窗口后重新打开了一个资源管理器窗口显示FTP文件夹内容 解决方法:在资源管理器中输入地址时加上用户名,比如ftp://[email protected] ......