首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

减少该死的 if else 嵌套

但if else一般不建议嵌套超过三层,如果一段代码存在过多的if else嵌套,代码的可读性就会急速下降,后期维护难度也大大提高。所以,我们程序员都应该尽量避免过多的if else嵌套。...下面将会谈谈我在工作中如何减少if else嵌套的。 正文 在谈我的方法之前,不妨先用个例子来说明if else嵌套过多的弊端。...所以我们很有必要避免写出多分支嵌套的语句。好的,我们来分析下上面的代码多分支的原因: 空值判断 业务判断 状态判断 几乎所有的业务都离不开这几个判断,从而导致if else嵌套过多。...多态不但能应付业务改变的情况,也可以用来减少if else的嵌套。 减少 if else 方法二:多态 利用多态,每种业务单独处理,在接口不再做任何业务判断。...总结下减少if else的方法: 把接口分为外部和内部接口,所有空值判断放在外部接口完成;而内部接口传入的变量由外部接口保证不为空,从而减少空值判断。

1.1K40

减少该死的 if else 嵌套

但 ifelse一般不建议嵌套超过三层,如果一段代码存在过多的 ifelse嵌套,代码的可读性就会急速下降,后期维护难度也大大提高。所以,我们程序员都应该尽量避免过多的 ifelse嵌套。...下面将会谈谈我在工作中如何减少 ifelse嵌套的。 正文 在谈我的方法之前,不妨先用个例子来说明 ifelse嵌套过多的弊端。...所以我们很有必要避免写出多分支嵌套的语句。好的,我们来分析下上面的代码多分支的原因: 空值判断 业务判断 状态判断 几乎所有的业务都离不开这几个判断,从而导致 ifelse嵌套过多。...就减少了 ifelse的嵌套了,相当于把 ifelse分摊了。...多态不但能应付业务改变的情况,也可以用来减少 ifelse的嵌套。 减少 if else 方法二:多态 利用多态,每种业务单独处理,在接口不再做任何业务判断。

80110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    减少该死的 if else 嵌套!

    但if else一般不建议嵌套超过三层,如果一段代码存在过多的if else嵌套,代码的可读性就会急速下降,后期维护难度也大大提高。所以,我们程序员都应该尽量避免过多的if else嵌套。...下面将会谈谈我在工作中如何减少if else嵌套的。 正文 在谈我的方法之前,不妨先用个例子来说明if else嵌套过多的弊端。...可以看到,上面的代码分为外部接口share和内部接口shareImpl,ShareItem和ShareListener的判断都放在share里完成,那么shareImpl就减少了if else的嵌套了,...多态不但能应付业务改变的情况,也可以用来减少if else的嵌套。 减少 if else 方法二:多态 利用多态,每种业务单独处理,在接口不再做任何业务判断。...总结下减少if else的方法: 1、把接口分为外部和内部接口,所有空值判断放在外部接口完成;而内部接口传入的变量由外部接口保证不为空,从而减少空值判断。

    1.4K20

    减少该死的 if else 嵌套

    但if else一般不建议嵌套超过三层,如果一段代码存在过多的if else嵌套,代码的可读性就会急速下降,后期维护难度也大大提高。所以,我们程序员都应该尽量避免过多的if else嵌套。...下面将会谈谈我在工作中如何减少if else嵌套的。 正文 在谈我的方法之前,不妨先用个例子来说明if else嵌套过多的弊端。...所以我们很有必要避免写出多分支嵌套的语句。好的,我们来分析下上面的代码多分支的原因: 空值判断 业务判断 状态判断 几乎所有的业务都离不开这几个判断,从而导致if else嵌套过多。...多态不但能应付业务改变的情况,也可以用来减少if else的嵌套。 减少 if else 方法二:多态 利用多态,每种业务单独处理,在接口不再做任何业务判断。...总结下减少if else的方法 把接口分为外部和内部接口,所有空值判断放在外部接口完成;而内部接口传入的变量由外部接口保证不为空,从而减少空值判断。

    41120

    括号的最大嵌套深度

    括号的最大嵌套深度 难度简单105 如果字符串满足以下条件之一,则可以称之为 有效括号字符串**(valid parentheses string**,可以简写为 VPS): 字符串是一个空字符串 ""...类似地,可以定义任何有效括号字符串 S 的 嵌套深度 depth(S): depth("") = 0 depth(C) = 0,其中 C 是单个字符的字符串,且该字符不是 "(" 或者 ")" depth...给你一个 有效括号字符串 s,返回该字符串的 s 嵌套深度 。 示例 1: 输入:s = "(1+(2*3)+((8)/4))+1" 输出:3 解释:数字 8 在嵌套的 3 层括号中。...遍历字符串 ss,如果遇到了一个左括号,那么就将其入栈;如果遇到了一个右括号,那么就弹出栈顶的左括号,与该右括号匹配。这一过程中的栈的大小的最大值,即为 ss 的嵌套深度。...这一过程中 size 的最大值即为 ss 的嵌套深度。

    29920

    减少那该死的像金字塔般的 if else 嵌套

    但if else一般不建议嵌套超过三层,如果一段代码存在过多的if else嵌套,代码的可读性就会急速下降,后期维护难度也大大提高。所以,我们程序员都应该尽量避免过多的if else嵌套。...下面将会谈谈我在工作中如何减少if else嵌套的。 正文 在谈我的方法之前,不妨先用个例子来说明if else嵌套过多的弊端。...所以我们很有必要避免写出多分支嵌套的语句。好的,我们来分析下上面的代码多分支的原因: 空值判断 业务判断 状态判断 几乎所有的业务都离不开这几个判断,从而导致if else嵌套过多。...多态不但能应付业务改变的情况,也可以用来减少if else的嵌套。 减少 if else 方法二:多态 利用多态,每种业务单独处理,在接口不再做任何业务判断。...总结下减少if else的方法: 把接口分为外部和内部接口,所有空值判断放在外部接口完成;而内部接口传入的变量由外部接口保证不为空,从而减少空值判断。

    75320

    《搜索和推荐中的深度匹配》——经典匹配模型 2.1 匹配学习

    经典匹配模型 已经提出了使用传统的机器学习技术进行搜索中的查询文档匹配和推荐中的用户项目匹配的方法。这些方法可以在一个更通用的框架内形式化,我们称之为“学习匹配”。...本节首先给出学习匹配的正式定义。然后,它介绍了传统学习以匹配为搜索和推荐而开发的方法。最后,它提供了该方向的进一步阅读。 2.1 匹配学习 2.1.1 匹配函数 匹配问题的学习可以定义如下。...假设存在一对真正匹配度为r的对象 (x,y)。此外,假设由匹配模型给出的 (x,y)的预测匹配度是 f(x,y)。...逐项损失函数定义为表示真实匹配度和预测匹配度之间差异的度量,表示为 llist(r^,r)。r^中的预测匹配度与r中的真实匹配度越高,则损失函数的值越低。...匹配函数f(x,y)定义的特征可以是传统IR中的BM25,也可以是传统机器学习或深度学习中学习的函数。排名函数g(x,y)可以通过LambdaMART【9】实现,这是传统机器学习的算法。

    3.7K20

    【深度好文】推荐系统中的深度匹配模型

    而无论是搜索还是推荐,本质其实都是匹配,搜索的本质是给定 query,匹配 doc;推荐的本质是给定 user,推荐 item。本文主要讲推荐系统里的匹配问题,包括传统匹配模型和深度学习模型。...,重点阐述搜索和推荐中的深度匹配问题,非常 solid 的综述,针对里面的一些方法,尤其是 feature-based 的深度学习方法增加了近期一些相关 paper。...的深度匹配模型 推荐系统概述 1.1 推荐系统本质 推荐系统就是系统根据用户的属性 ( 如性别、年龄、学历、地域、职业 ),用户在系统里过去的行为 ( 例如浏览、点击、搜索、购买、收藏等 ),以及当前上下文环境...基于 representation learning 的深度匹配模型 终于要讲到激动人心的深度学习部分了。...具体到匹配方法,分为传统模型和深度模型两大类,第二章讲的是传统模型,第三章和第四章讲的是深度模型。

    2.1K20

    SCSS的嵌套规则可以减少重复代码,那么如何在嵌套规则中使用父选择器?

    在SCSS中,使用&符号来引用父选择器,在嵌套规则中使用父选择器。这样可以避免重复编写选择器,并且在生成的CSS中保持正确的层级关系。...以下是一个示例,展示了如何在嵌套规则中使用父选择器: .button { background-color: blue; &:hover { background-color: darkblue...在嵌套规则中,使用&引用父选择器。 &:hover表示当鼠标悬停在.button元素上时,应用这个样式。 &.active表示当.button元素有.active类时,应用这个样式。....icon表示嵌套在.button元素内的.icon元素,不使用&引用父选择器。...父选择器的引用可以嵌套在任何层级的规则中,并且可以与其他选择器和修饰符组合使用。

    21940

    人岗智能匹配,基于记忆的深度文本匹配技术

    针对互联网求职招聘场景的人岗匹配推荐问题,本文提出了一种建模求职者与招聘者双方偏好的新型深度文本匹配模型。...该模型通过引入记忆模块,利用简历文档和岗位描述文档之间的信息交互来学习潜在偏好表示,并将偏好结合到匹配框架中构建端到端的深度神经网络模型。...现有针对人岗匹配推荐问题的研究通常集中在学习简历文档以及岗位描述文档自身的表示后计算双方的匹配度。...,此外我们还引入了基于深度匹配模型的方法 PJFNN[1] 和 AAPJF[2] 进行实验比较。...HRNNM:基于层级 GRU 编码的文档匹配模型 7. PJFNN:[1] 中提出的基于卷积神经网络的匹配模型 8.

    2.2K10

    括号的最大嵌套深度

    题目 如果字符串满足以下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS): 字符串是一个空字符串 "",或者是一个不为 "(" 或 ")" 的单字符...类似地,可以定义任何有效括号字符串 S 的 嵌套深度 depth(S): depth("") = 0 depth(C) = 0,其中 C 是单个字符的字符串,且该字符不是 "(" 或者 ")" depth...都是 有效括号字符串 depth("(" + A + ")") = 1 + depth(A),其中 A 是一个 有效括号字符串 例如:""、"()()"、"()(()())" 都是 有效括号字符串(嵌套深度分别为...给你一个 有效括号字符串 s,返回该字符串的 s 嵌套深度 。 示例 1: 输入:s = "(1+(2*3)+((8)/4))+1" 输出:3 解释:数字 8 在嵌套的 3 层括号中。...:s = "1" 输出:0 提示: 1 <= s.length <= 100 s 由数字 0-9 和字符 '+'、'-'、'*'、'/'、'('、')' 组成 题目数据保证括号表达式 s 是 有效的括号表达式

    34010

    括号的最大嵌套深度

    题目 如果字符串满足以下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS): 字符串是一个空字符串 "",或者是一个不为 "(" 或 ")" 的单字符...类似地,可以定义任何有效括号字符串 S 的 嵌套深度 depth(S): depth("") = 0 depth(C) = 0,其中 C 是单个字符的字符串,且该字符不是 "(" 或者 ")" depth...都是 有效括号字符串 depth("(" + A + ")") = 1 + depth(A),其中 A 是一个 有效括号字符串 例如:""、"()()"、"()(()())" 都是 有效括号字符串(嵌套深度分别为...给你一个 有效括号字符串 s,返回该字符串的 s 嵌套深度 。 示例 1: 输入:s = "(1+(2*3)+((8)/4))+1" 输出:3 解释:数字 8 在嵌套的 3 层括号中。...输入:s = "1" 输出:0 提示: 1 <= s.length <= 100 s 由数字 0-9 和字符 '+'、'-'、'*'、'/'、'('、')' 组成 题目数据保证括号表达式 s 是 有效的括号表达式

    34810

    括号的最大嵌套深度

    题目 如果字符串满足一下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS): 字符串是一个空字符串 "",或者是一个不为 "(" 或 ")" 的单字符...类似地,可以定义任何有效括号字符串 S 的 嵌套深度 depth(S): depth("") = 0 depth(A + B) = max(depth(A), depth(B)),其中 A 和 B 都是...有效括号字符串 depth("(" + A + ")") = 1 + depth(A),其中 A 是一个 有效括号字符串 例如:""、"()()"、"()(()())" 都是 有效括号字符串(嵌套深度分别为...给你一个 有效括号字符串 s,返回该字符串的 s 嵌套深度 。 示例 1: 输入:s = "(1+(2*3)+((8)/4))+1" 输出:3 解释:数字 8 在嵌套的 3 层括号中。...:s = "1" 输出:0 提示: 1 <= s.length <= 100 s 由数字 0-9 和字符 '+'、'-'、'*'、'/'、'('、')' 组成 题目数据保证括号表达式 s 是 有效的括号表达式

    41330

    《搜索和推荐中的深度匹配》——2.2 搜索和推荐中的匹配模型

    接下来,我们概述搜索和推荐中的匹配模型,并介绍潜在空间中的匹配方法。 2.2.1 搜索中的匹配模型 当应用于搜索时,匹配学习可以描述如下。...学习的模型必须具有泛化能力,可以对看不见的测试数据进行匹配。 2.2.2 推荐中的匹配模型 当应用于推荐时,匹配学习可以描述如下。给出了一组M个用户U=u1​,......2.2.3 潜在空间中匹配 如第1节所述,在搜索和推荐中进行匹配的基本挑战是来自两个不同空间(查询和文档以及用户和项目)的对象之间的不匹配。...解决挑战的一种有效方法是在一个公共空间中匹配表示两个对象,并在公共空间中执行匹配任务。由于空间可能没有明确的定义,因此通常称为“潜在空间”。这是潜在空间中匹配方法【1】【2】背后的基本思想。...在深度学习盛行之前,大多数方法都是“浅”的,因为分别采用线性函数和内积作为映射函数和相似性。 其中φ和φ’表示线性函数,⟨·⟩表示内积。

    1.5K30
    领券