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

在不打算返回的情况下调用函数来退出switch语句是一种好的编码实践吗

在不打算返回的情况下调用函数来退出switch语句并不是一种好的编码实践。在编写代码时,应该遵循良好的编码规范和最佳实践,以提高代码的可读性、可维护性和可扩展性。

在switch语句中,我们通常使用break语句来退出当前的case分支,以避免继续执行后续的case分支。如果在不打算返回的情况下调用函数来退出switch语句,会导致代码的逻辑不清晰,增加代码的复杂性和理解难度。

相反,我们应该在每个case分支中使用break语句来明确退出当前分支,以确保代码的可读性和可维护性。如果需要在某个case分支中执行一些特定的逻辑后退出整个switch语句,可以考虑使用一个标志变量来控制switch语句的执行流程。

总结起来,不建议在不打算返回的情况下调用函数来退出switch语句,而是应该使用break语句来明确退出当前分支。这样可以提高代码的可读性和可维护性,减少代码的复杂性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

干货 | 国外大神总结10个Java编程技巧!

这是毫无疑问,把一种表达式转换成另一种更好表达式,并不会失去什么。只要我们Options真实存在(Java 8中 Optional对可以为空对象进行封装),不是?...前者违反了 Java 编码中 10 个微妙最佳实践规则#5和#6。因此一定要记得判 null检查!...也许某个特定场合下他们将会需要另一种 编码值,如果区分大小写的话,otherString 就会被包含进去…此时或许可以返回 -2呢?谁知道呢。...9 总是switch语句里加上default Switch…作为最滑稽表达式之一,我不知道该心存敬畏还是默默哭泣。...10 用大括号隔开switch每一个case块 事实上,switch最坑爹语句,任何喝醉了或是赌输了的人都可以某种语言中使用它。看看下面这个例子: ?

60810

偏执却管用10条Java编程技巧

前者违反了Java编码中10个微妙最佳实践规则#5和#6。因此一定要记得判 null检查! 3....不要相信“-1” 我知道这很偏执,Javadoc中关于 String.indexOf() 早期描述这样… “字符字符序列中第一次出现位置将作为结果[被返回],如果字符不存在则返回-1。...也许某个特定场合下他们将会需要另一种 编码值,如果区分大小写的话,otherString 就会被包含进去…此时或许可以返回 -2呢?谁知道呢。...所以说偏执有好处。 9.总是switch语句里加上default Switch…作为最滑稽表达式之一,我不知道该心存敬畏还是默默哭泣。...10.用大括号隔开switch每一个case块 事实上,switch最坑爹语句,任何喝醉了或是赌输了的人都可以某种语言中使用它。

74570

【JS】332- 为什么我更喜欢对象而不是 switch 语句

,你会看到输出 firt case second case third case switch 语句第二种和第三种情况下也会执行,即使第一种情况已经正确,然后它在第三种情况块中找到关键字 break...,因为变量 position 已经一种情况下声明过了,并且由于它没有大括号,所以第二种情况下尝试声明它,它已经存在了。...,其可能性无穷无尽…… 不管怎样,switch 语句已经讲够了,我们来这里是为了讨论一种不同方法,我们来这里是为了讨论对象。...结论 本文不打算改变你编码风格或让你停止使用 switch 语句,它只是试图提高你对 switch 语句认识,以便它可以正确使用,并开放你思想探索新替代方案,在这种情况下,我已经分享了我喜欢使用方法...阅读 EnmaScript.com 上发布原始文章 译者总结 本文介绍了一种使用对象去代替我们之前用 switch 和繁琐 if else 语句方法。

1.3K40

国外大神总结 10 个 Java 编程技巧!

这是毫无疑问,把一种表达式转换成另一种更好表达式,并不会失去什么。只要我们Options真实存在(Java 8中 Optional对可以为空对象进行封装),不是?讨论一下… 2....前者违反了 Java 编码中 10 个微妙最佳实践规则#5和#6。因此一定要记得判 null检查! 3....也许某个特定场合下他们将会需要另一种 编码值,如果区分大小写的话,otherString 就会被包含进去…此时或许可以返回 -2呢?谁知道呢。...总是switch语句里加上default Switch…作为最滑稽表达式之一,我不知道该心存敬畏还是默默哭泣。...用大括号隔开 switch 每一个 case 块 事实上,switch最坑爹语句,任何喝醉了或是赌输了的人都可以某种语言中使用它。看看下面这个例子: ?

62620

国外大神总结 10 个 Java 编程技巧!

这是毫无疑问,把一种表达式转换成另一种更好表达式,并不会失去什么。只要我们Options真实存在(Java 8中 Optional对可以为空对象进行封装),不是?讨论一下… 2....前者违反了 Java 编码中 10 个微妙最佳实践规则#5和#6。因此一定要记得判 null检查! 3....也许某个特定场合下他们将会需要另一种 编码值,如果区分大小写的话,otherString 就会被包含进去…此时或许可以返回 -2呢?谁知道呢。...总是switch语句里加上default Switch…作为最滑稽表达式之一,我不知道该心存敬畏还是默默哭泣。...用大括号隔开 switch 每一个 case 块 事实上,switch最坑爹语句,任何喝醉了或是赌输了的人都可以某种语言中使用它。看看下面这个例子: ?

2.2K20

JavaScript 高级程序设计(第 4 版)- 语言基础

如果字符串包含有效十六进制格式如"0xf",则会转换为与该十六进制对应十进制整数值 如果空字符串(包含字符),则返回0 如果包含上述情况,则返回 NaN 对象,调用valueOf(),然后按照上述规则转换返回值...正值以真正二进制格式存储,如果一个位,则以0填充 负值以一种称为二补数(补码)二进制编码存储 确定绝对值二进制表示 找到数值一补数(或反码),即每个0变成1,每个1变成0 给结果加1 按位非...ECMAScript 会自动调用 Boolean() 函数将这个表达式值转换为布尔值 最佳实践使用语句块,即使一行代码要执行也是如此 do-while 一种后测试循环语句,即循环体中代码执行后才会对退出条件进行求值...while 一种先测试循环语句,即先检测退出条件,再执行循环体内代码 for 先测试语句,只不过增加了进入循环之前初始化代码,以及循环执行后要执行表达式 for (initialization...) statement for-in语句不能保证返回对象属性顺序 如果for-in循环要迭代变量null或undefined,则不执行循环体 for-of 一种严格迭代语句,用于遍历可迭代对象元素

47810

精通JavaScript面试之什么函数式编程?

函数式编程一种编程范式,意味着一种基于一些基本原理和有限定原则(上面已经列出来了)来构建软件方式思考。其它编程范式案例包括面向对象编程和过程式编程。...副作用 副作用是指任何应用状态显式变化函数调用之外而不是通过返回值。...传入一个函数列表然后返回这些输入函数某种组合 容器,子,列表和流 指能够被映射遍历东西。...,使用像子和高阶函数为了使用通用工具函数来操作多种数据类型抽象概念十分重要。...一个声明语句就是执行某种操作一段代码。常用声明语句例子包括for,if,switch,throw,等。 声明式代码更多依赖表达式。一个表达式一段求某种值代码。

85850

defer 前世今生

,其中间表示会产生三种不同延迟形式, 第一种最一般情况下堆上分配延迟语句,第二种允许栈上分配延迟语句,最后一种则是**开放编码式(Open-coded)**延迟语句。...注意,在这里我们看到了一个对参数进行拷贝操作。这个操作也是我们实践过程中经历过,defer 调用被记录时,并不会对参数进行求值,而是会对参数完成一次拷贝。这么做原因由于语义上考虑。...那么开放编码式 defer 怎么实现?所有的 defer 都是开放编码?什么情况下,开放编码式 defer 会退化为一个依赖运行时特性?...数量超过 8 个、且返回语句与延迟语句个数乘积超过 15 没有 defer 发生在循环语句中 延迟比特 当然,正常编写 defer 可以直接被编译器分析得出,但是如本文开头提到,如果一个 defer...不同类型 defer 编译与运行时成本之间取舍 对于开放编码式 defer 而言: 编译器会直接将所需参数进行存储,并在返回语句末尾插入被延迟调用; 当整个调用中逻辑上会执行 defer 超过

99720

如何编写高质量 JS 函数(4) --函数式编程

和前端组件进行对比来深刻理解组合函数 函数组合思想面向过程一种封装,而前端组件思想面对对象一种封装。...那就是用到了 if 语句,用 if 语句也没什么不好。但退一步看 tap 函数,你会发现,还是不够复用,函数内,还存在硬编码行为。...稍微想一下,大家肯定可以很快想出来,那就是封装成函数,然后在其他函数中进行调用。 因为 for 循环一种命令控制结构,它很难被插入到其他操作中,也发现了 for 循环很难被复用现实。...main(key) : cache[key] = main(key) } 上面代码一种最简单利用纯函数来做缓存例子。下面实现一个非常完美的缓存函数。...上面函数缓存实现好处有以下两点: 第一:消除了可能存在全局共享缓存 第二:将缓存机制抽象到了函数内部,使其完全与测试无关,只需要关系函数行为即可 四、备注 实战部分,我没有提到子知识,代表我没有实践

1.9K41

JavaScript(三)

比较字符串时,实际比较两个字符串中对应位置每个字符字符编码值。经过这么一番比较之后,再返回一个布尔值。...由于大写字母字符编码全部小于小写字母字符编码,因此我们就会看到如下所示奇怪现象: var result = "Brick" < "alphabet"; //true 另一种奇怪现象发生在比较两个数字字符串情况下...do-while 语句 do-while 语句一种后测试循环语句,即只有循环体中代码执行之后,才会测试出口条件。...switch 语句 switch 语句与 if 语句关系最为密切,而且也是在其他语言中普遍使用一种流控制语句。...switch 语句比较值时使用全等操作符,因此不会发生类型转换。 函数 函数对任何语言来说都是一个核心概念。通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。

45820

编码时易忽略坏习惯-优化编码(仅用于个人学习,喜勿喷--持续更新)

技巧篇」本次赘述。  编码时易犯一些小毛病  毛病一:变量作为 equals() 方法调用方。...寄语写最后  常在河边站哪有湿鞋,再牛逼码农,编码也会有失误时候,很有必要借助一款代码检查工具,做最后一道防线。...为了程序更完成、更优雅,一个 switch 块内,都必须包含一个 default 语句并且放在最后,即使它什么代码也没有。 2....说一句废话:截图中代码格式,尤其 break 前分号,你能忍受? 坏习惯四:使用 switch 时,缺失 break。 反例: 正解: 1....注意 break 退出 switch 语句块,而 return 退出方法体。  编码时:多一点不行  毛病一:看似判 null 很严谨,实则多余。

49830

开发成长之路(2)-- C语言从入门到开发(函数与定制输入输出控制函数)

文章目录 函数 传值调用与引用调用 作用域 数组 多维数组 数组作为函数参数 定制输入输出函数 函数 函数一组一起执行一个任务语句。...函数返回数据类型。...有些函数执行所需操作而返回值,在这种情况下,return_type 可以是关键字 void。 函数名称:这是函数实际名称(function_name)。函数名和参数列表一起构成了函数签名。...上面那就是传值调用,至于引用调用,等我讲指针了再说吧。现在讲也捋不清楚啊。 ---- 作用域 这个其实应该再编码规范时候写,但是那会儿给忘了,现在补上。...局部变量:函数或块内部局部变量(这里块指的是:函数、结构体、分支、循环、异常等),局部变量函数外部不可知

42910

程序员应该掌握600个英语单词

候选函数  (式多载决议程序中出现候选式)  chain 串链(例 chain of function calls) 链  character 字元 字符  check box 核取方块 (i.e...C++ Primer 3/e, 11.4) 异常规范  exit 退离(指离开式时那一个执行点) 退出  explicit 明白、明显、显式 显式  export 汇出 引出、导出  expression...C++ Primer 3/e, 11.4) 异常规范  exit 退离(指离开式时那一个执行点) 退出  explicit 明白、明显、显式 显式  export 汇出 引出、导出  expression...恒常性,约束条件 约束条件  invoke 唤起 调用  iterate 迭代(回圈一个轮回一个轮回地进行) 迭代  iterative 反覆,迭代  iterator 迭代器(一种泛型指标) 迭代器...by reference 传址(式引数一种传递方式) 传地址, 按引用传递  pass by value 传值(式引数一种传递方式) 按值传递  pattern 范式、样式 模式  performance

1.3K00

WordPress PHP 编码规范

但这个编码规范不仅关于编码风格,还包括 WordPress 生态中互操作性、可翻译性和安全性等方面的最佳实践,因此即使使用其他编码风格 ,还是建议开发者最佳实践方面仍然遵守 WordPress 编码标准...对于 switch 结构, case 语句应该比 switch 语句多缩进一个制表符, case 内容也要比 case 条件语句缩进一个 tab。...闭包(匿名函数) 一些情况下(比如回调函数只需要用一次),可以使用闭包而非重写一个新函数来作为回调函数传递,比如: $caption = preg_replace_callback( '/<...switch 代码中,  case 提交和冒号之间不要有空格: switch ( $foo ) { case 'bar': // 正确 case 'ba' : // 错误 } 同样,返回类型声明冒号前不应有空格...$wpdb->prepare() 一种处理 SQL 查询转义、引用和整数转换方法。 它使用 sprintf() 格式子集。

5.5K40

27 个问题,告诉你Python为什么这么设计

为什么 join()一个字符串方法而不是列表或元组方法? 异常有多快? 为什么Python中没有switch或case语句? 难道不能在解释器中模拟线程,而非得依赖特定于操作系统线程实现?...CPython退出时为什么释放所有内存? 为什么有单独元组和列表数据类型? 列表如何在CPython中实现? 字典如何在CPython中实现? 为什么字典key必须不可变?...如果您习惯于阅读和编写使用一种风格代码,那么阅读(或被要求编写)另一种风格时,您至少会感到有些不安。 许多编码风格将开始/结束括号单独放在一行上。...CPython退出时为什么释放所有内存? 当Python退出时,从全局命名空间或Python模块引用对象并不总是被释放。...为什么 list.sort() 没有返回排序列表? 性能很重要情况下,仅仅为了排序而复制一份列表将是一种浪费。因此, list.sort() 对列表进行了适当排序。

6.6K11

程序员必须掌握600个英语单词

候选函数 (式多载决议程序中出现候选式) chain 串链(例 chain of function calls) 链 character 字元 字符 check box 核取方块 (i.e...C++ Primer 3/e, 11.4) 异常规范 exit 退离(指离开式时那一个执行点) 退出 explicit 明白、明显、显式 显式 export 汇出 引出、导出 expression...C++ Primer 3/e, 11.4) 异常规范 exit 退离(指离开式时那一个执行点) 退出 explicit 明白、明显、显式 显式 export 汇出 引出、导出 expression...恒常性,约束条件 约束条件 invoke 唤起 调用 iterate 迭代(回圈一个轮回一个轮回地进行) 迭代 iterative 反覆,迭代 iterator 迭代器(一种泛型指标) 迭代器...by reference 传址(式引数一种传递方式) 传地址, 按引用传递 pass by value 传值(式引数一种传递方式) 按值传递 pattern 范式、样式 模式 performance

1.3K20

(二)改掉这些坏习惯,还怕写不出优雅代码?

Code Review 一场苦涩但有意思修行。 上期分享,通过示例剖析编码中一些经常触犯性能点,以及编码时常犯一些小毛病,来告诉新手程序员如何写出健壮代码。...为了程序更完成、更优雅,一个 switch 块内,都必须包含一个 default 语句并且放在最后,即使它什么代码也没有。 2....说一句废话:截图中代码格式,尤其 break 前分号,你能忍受? 坏习惯四:使用 switch 时,缺失 break。 反例: ? 正解: 1....注意 break 退出 switch 语句块,而 return 退出方法体。 2 编码时:多一点不行 毛病一:看似判 null 很严谨,实则多余。 反例: ?...正解:闲置不用对象,到处都是,若留着就是耗内存,而且影响雅观,不用变量、代码段建议删除。 3 寄语写最后 常在河边站哪有湿鞋,金无足赤人无完人,再牛逼团队,编码都会有出 Bug 时候。

65130

避坑手册 | JAVA编码中容易踩坑十大陷阱

42? 其实结果4,为什么?因为第二个2后面的个字母l。虽然这种写法对于程序而言没有问题,但是很容易让开发人员混淆,造成认知上错误。...finally分支数据处理 finally分支一般伴随着try...catch语句一起使用,用来当所有操作退出前执行一些收尾处理逻辑,比如资源释放、连接关闭等等。...finally 代码块,try...catch中return语句不会立马返回调用者,而是记录下返回副本,待 finally代码块执行完毕之后再向调用返回其值,然后即使finally中修改了返回值...再看另一种常见写法: 与上面的差异点在于,try...catch分支里面并没有return语句,而是finally外面统一执行返回操作,这种情况下就可以生效。...finally分支中直接return finally分支里面存在return语句一个很不好实践。一般IDEA中也会智能提示finally里面存return分支。

39730

老李搞Workerman日子里(五)

而PHP实则为我们屏蔽了众多细节,确切说是一大坨细节,屏蔽细节好处用起来更加粗暴方便,坏处细节上控制粒度不太到位,不过千言万语还是那句话: 能用就行,难道TA?...如果没有这个函数,你们想感受一下*NIX环境下使用C语言如何实现这个功能?...信号一种非常非常典型异步时间,信号发生时间与地点一种[ 布朗运动 ],信号产生来源可能: 键盘上按了Ctrl+C、Ctrl+D等乱七八糟,或者关闭终端也会产生SIGHUP信号(回想一下上节...最后一个问题,父进程里安装好信号管理器以及配置阻塞信号,会被子进程继承?这个问题十分需要值得注意。...5564父进程,5565子进程,很不幸子进程中枪了。所以,如果你希望子进程收到某个信号后与主进程保持一样动作,这块儿你可能就需要单独为子进程安装一下信号处理函数了。

97511
领券