代码大全和新月神话

考虑以下代码段:

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

代码大全和新月神话

代码大全和新月神话_神话般的代码相关推荐

  1. python代码大全心形盒子简单_一行Python代码画心型

    一行Python代码画心型 1.画I组成的心型代码: print('\n'.join([''.join([('I'[(x-y) % len('I')]if ((x*0.05)**2+(y*0.1)** ...

  2. html代码大全(很全的)_5行Python代码就能爬取 3000+ 上市公司的信息?

    前言 入门爬虫很容易,几行代码就可以,可以说是学习 Python 最简单的途径. 刚开始动手写爬虫,你只需要关注最核心的部分,也就是先成功抓到数据,其他的诸如:下载速度.存储方式.代码条理性等先不管, ...

  3. 简单代码大全_VBA爱好者请进:VBA代码宝概述

    VBA 代码宝是 ExcelHome 出品的共享工具类软件之一. 虽然 Office 软件本身已经足够强大,但仍然有很多特色功能,需要使用 VBA 来进行定制开发.无论是VBA小白还是经验丰富资深开发 ...

  4. 万圣节html代码大全,方舟生存进化249万圣节新版本代码大全分享

    类型:修改器(游戏工具)大小:4.3M语言:中文 评分:10.0 标签: 立即下载 方舟生存进化万圣节版本已经更新了,各位玩家有没有去更新呢,这次大的更新也是更新了不少的东西,下面小编就来给大家介绍一 ...

  5. 口袋妖怪c语言代码大全,口袋妖怪漆黑的魅影金手指代码大全

    口袋妖怪漆黑的魅影金手指代码大全 2013-10-29 11:53:51来源:互联网编辑:评论(0) 口袋妖怪漆黑的魅影金手指代码大全 如果你是安卓版的,打开菜单,点击金手指列表输入金手指,电脑版的打 ...

  6. python代码大全心形盒子简单_python心形代码

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 之前看到python一行代码就可以在控制台打印心形,感觉非常神奇,昨天突然想起来 ...

  7. 我们编写的python代码在运行过程中_在Rust代码中编写Python是种怎样的体验?

    原标题:在Rust代码中编写Python是种怎样的体验? 作者 | Mara Bos,Rust资深工程师 译者 | Arvin,编辑 | 屠敏 来源 | CSDN(ID:CSDNnews) 大约一年前 ...

  8. 人月神话_神话般的代码

    人月神话 考虑以下代码段: int max = 10; int a = 0; while (true) {// do a thing that may result in an early retur ...

  9. 读书笔记_代码大全2第十章_变量初始化

    变量初始化原则 声明变量的同时初始化. 在靠近变量第一次使用的位置初始化(就近原则). 最好在靠近变量第一次使用的位置声明和定义变量. 在可能的情况下使用final或const(可以防止变量在初始化之 ...

最新文章

  1. 服务端发post请求产生的编码问题
  2. 不存在类型或空间名称ConfigurationManager解决办法
  3. 简单可行性报告模板_项目可行性报告模板分享!第三章主要内容
  4. ssh 与 telnet 有何不同?_采用创新面料Nike Infinalon的全新瑜珈系列究竟有何不同?...
  5. 首次公开,阿里云开源PolarDB总体架构和企业级特性
  6. js self = this的解释
  7. maven docker 插件集成的几个小坑
  8. 吴恩达《深度学习》 学习笔记1
  9. SecondaryNamenode配置与NameNode故障恢复
  10. 值得推荐的win10动态壁纸软件
  11. dm9000驱动分析
  12. 【Eye-Tracking】一、眼动追踪概述
  13. 文本挖掘与matlab,文本挖掘与数据挖掘:发现差异
  14. Meta研发触觉手套,有人想在元宇宙撸猫,有人产生大胆的想法
  15. 46_Pandas,Python,Seaborn热图的生成
  16. Win10、11快速切换不同桌面快捷键
  17. mysql 查询近三个月数据
  18. ES更改默认分片数量及副本
  19. 解决DELL服务器识别不到硬盘的问题
  20. 消除span之间的空隙

热门文章

  1. acwing1304. 佳佳的斐波那契
  2. 【每日一题】7月15日题目精讲—生日快乐
  3. [HEOI2016/TJOI2016]字符串 (后缀数组+主席树+二分)
  4. CF1603C-Extreme Extension【整除分块,dp】
  5. AT3945-[ARC092D]Two Faced Edges【dfs】
  6. P4549-[模板]裴蜀定理
  7. P1525-关押罪犯【并查集】
  8. Java 虚拟机对锁优化所做的努力
  9. Java类加载的那些事
  10. Java中的内存泄露的几种可能