代码大全和新月神话_神话般的代码

代码大全和新月神话

考虑以下代码段:

int max = 10;
int a = 0;
while (true) {// do a thing that may result in an early return if (++a >= max) {break;}
}throw new RuntimeException("It ran out of attempts");

上面有一些WTF。 循环有点不可思议,控制流似乎在几个地方……但是它的核心是一些编码代码– ++a >= max

在这种情况下,肯定可以进行10次尝试吗? 还是9点? 还是11?

一般情况:

如果您一眼就无法确定逻辑表达式在做什么,那就太复杂了。

碰巧的是,我认为这样做有10次尝试:

  • ++a是一个前缀增量,这增加了1到a
  • >=表示a不能为10或更大,并且在增量之后执行
  • a0开始
  • 第一次尝试为0时发生,第十次尝试为9时发生
  • 所以它做了10次尝试

……大概。

尽管编程语言允许我们使用快捷方式来做事情和表达相同事情的几种方法,但显然可以立即识别for for (i=0; i<10; i++)样式表达。 编码代码几乎总是可以更好地重构。

循环似乎易于编码

翻译自: https://www.javacodegeeks.com/2020/03/mythematical-codey-code.html

代码大全和新月神话

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331319.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring 思维导图,让 Spring 不再难懂(cache篇)

转载自&#xff1a; java思维导图 开源中国关于缓存缓存是实际工作中非常常用的一种提高性能的方法。而在java中&#xff0c;所谓缓存&#xff0c;就是将程序或系统经常要调用的对象存在内存中&#xff0c;再次调用时可以快速从内存中获取对象&#xff0c;不必再去创建新的重…

动手学习_动手选择值

动手学习由于冠状病毒的存在&#xff0c;可选的东西在空中&#xff0c;一切都变得可选&#xff0c;例如可选的公共聚会&#xff0c;可选的在家工作&#xff0c;可选的旅行等。 我现在是时候谈论处理NULL引用的软件工程中真正的“ 可选 ”了。 托尼霍尔&#xff08;Tony Hoare…

JVM菜鸟进阶高手之路

本文转载自公众号 匠心零度问题现象 代码如下&#xff0c;使用 ParNew Serial Old 回收器组合与使用 ParNew CMS 回收器组合时&#xff0c;结果为什么差异如此之大 &#xff1f;private static final int _1MB 1024 * 1024;public static void main(String[] args) throws …

事务的状态(状态模式)

【0】README0.1&#xff09;本文部分文字描述转自 “head first设计模式”&#xff0c;旨在学习 事务的状态&#xff08;状态模式&#xff09; 的基础知识&#xff1b;【1】应用场景一1.1&#xff09;还记得成都市各大高校内的米源自动售卖机吗&#xff1f;售卖机的主要制造商…

ogm neo4j_Neo4J OGM与Quarkus

ogm neo4j在下面的视频中&#xff0c;我演示了一个使用Neo4J数据库和Neo4J OGM的Quarkus应用程序示例。 看一下GitHub上的示例项目 。 我为咖啡豆创建了一个示例域&#xff0c;其中包含我们可以查询和匹配的某些风味配置文件。 红色节点是来自某个国家/地区的咖啡豆&#xff…

什么是ThreadLocal

本文转载自 占小狼的博客前言在面试环节中&#xff0c;考察"ThreadLocal"也是面试官的家常便饭&#xff0c;所以对它理解透彻&#xff0c;是非常有必要的. 有些面试官会开门见山的提问&#xff1a; “知道ThreadLocal吗&#xff1f;”“讲讲你对ThreadLocal的理解”…

Java bytecode instruction listings

【0】README 0.1&#xff09;these contents are shiped from https://en.wikipedia.org/wiki/Java_bytecode_instruction_listings Mnemonic Opcode (in hexadecimal) Opcode (in binary) Other bytes Stack [before]→[after] Description(no name)cb-fd these values ar…

为wmi执行例外_称之为例外?

为wmi执行例外虽然这是一个有关测试和Wiremock的Java示例&#xff0c;但它涉及一个更普遍的问题。 我们正在尝试重试Wiremock的verify方法&#xff0c;该方法可能会在我们要检查的端点被命中之前由测试调用。 在这种情况下&#xff0c;我们希望在几秒钟后循环尝试一次&#xf…

漫画:什么是MapReduce

转载自 脑洞有点大的 程序员小灰什么是MapReduce&#xff1f;MapReduce是一种编程模型&#xff0c;其理论来自Google公司发表的三篇论文&#xff08;MapReduce&#xff0c;BigTable&#xff0c;GFS&#xff09;之一&#xff0c;主要应用于海量数据的并行计算。MapReduce可以分…

orelse_可选的orElse vs orElseGet

orelseJava 8引入了一个很棒的Optional概念&#xff0c;我们在博客Java 8 Optional中进行了研究 。 因此&#xff0c;为了简要说明一下&#xff0c;Optional用于表示Optional对象或空值&#xff0c;而不是null引用。 这将有助于避免在我们尝试对空引用对象执行某些操作时发生空…

jvm(6)-java类文件结构(字节码文件)

【0】README0.1&#xff09;本文部分文字描述转自 “深入理解jvm”&#xff0c;旨在学习类文件结构 的基础知识&#xff1b;0.2&#xff09;本文荔枝以及荔枝的分析均为原创&#xff1b;0.3&#xff09;下面的截图中有附注t*编号&#xff0c;不关乎博文内容&#xff1b;0.4&am…

你可能不知道的 10 条 SQL 技巧

转载自 58沈剑 开源中国 一、一些常见的SQL实践 &#xff08;1&#xff09;负向条件查询不能使用索引 select * from order where status!0 and stauts!1 not in/not exists都不是好习惯 可以优化为in查询&#xff1a; select * from order where status in(2,3) &#x…

夜神模拟器模拟安卓测试_使用模拟进行测试

夜神模拟器模拟安卓测试如果使用正确的方法&#xff0c;模拟对象将非常有用。 我在需要驱动软件开发使用的帖子中分享了一些使用Mock Objects的经验。 在这篇文章中&#xff0c;我分享了两件事 –使用模拟进行基于合同的测试。 –用于组织模拟代码的模式。 基于合同的测试 …

java记录类型_Java中的记录类型

java记录类型于2020年3月发布的JDK 14引入了记录 &#xff08;预览语言功能&#xff09;&#xff0c;该记录提供了一种紧凑的语法来声明主要用于保存数据的类。 在记录中 &#xff0c;所有低级&#xff0c;重复且容易出错的代码都类似于构造函数&#xff0c;访问器和通用方法&a…

代理模式(多线程实现状态监控)

【-1】README-1.1&#xff09;本文部分文字描述转自“head first 设计模式”&#xff0c;旨在学习 远程代理对象 的基础知识&#xff1b;-1.2&#xff09;多线程实现糖果自动售卖机监控程序为原创&#xff1b;-1.3&#xff09;博文最后&#xff0c;转载了代理模式的定义&#…

一篇文章搞定面试中的二叉树

转载自 IOExceptioner 算法与数据结构 在上一篇介绍二叉树&#xff08; Android面试题算法之二叉树 、红黑树详细分析&#xff0c;看了都说好&#xff09;&#xff0c;没看的读者建议先去了解了解&#xff0c;接下来再给大家带来一篇关于二叉树的文章。 最近总结了一些数据结…

清洁代码_清洁单元测试

清洁代码编写使用JUnit和某些模拟库的“单元测试”测试很容易。 即使测试甚至不是单元测试并提供可疑的价值&#xff0c;它们也可能产生使某些涉众满意的代码覆盖范围。 编写单元测试&#xff08;在理论上是单元测试&#xff0c;但是比基础代码更复杂&#xff09;因此也很容易编…

jvm(6)-Class字节码文件结构总结

【0】README 0.1&#xff09;本文总结于 Clas字节码文件&#xff0c;旨在理清 Class字节码文件的大体结构&#xff1b; 【1】干货开始 对上图的分析&#xff08;Analysis&#xff09;&#xff1a;A1&#xff09;offset0 A1.1&#xff09;头四个字节为CAFEBABE&#xff1a;表示…

Android面试题算法之二叉树

转载自 qing的世界 程序员小乐文章目录 前言二叉树的递归&#xff08;深度优先&#xff09;处理二叉树的层序处理(广度优先)总结“一、前言今年可谓是跌宕起伏的一年&#xff0c;幸好结局还算是圆满。开年的时候由于和公司CTO有过节&#xff0c;被"打入冷宫"&#…

java 读取 文本块_Java文本块

java 读取 文本块文本块是JDK增强建议&#xff08; JEP 355 &#xff09;&#xff0c;可以在JDK 13和14中用作预览语言功能。它计划在JDK 15中成为永久性功能。文本块是跨越多行并且不需要的String文字。对于大多数转义序列。 动机 在标准Java字符串中嵌入XML&#xff0c;JSON…