从一副漫画说编码思维,编码习惯,编码风格 (条件判断,死代码,true 或false)
漫画中机器人要杀了人类,但是那个程序员说他并没有写代码让机器人杀人类啊!!
代码中确实给isCrazyMurderingRebot赋值了false作为初值,开发者的本意也是永远不要让它变为true,永远不要让机器人伤害人类,但是事与愿违,就因为本意是作为检测isCrazyMurderingRebot是否为true的语句,却变成了赋值语句,isCrazyMurderingRebot = true,导致了isCrazyMurderingRebot永远为true了,从而挑起了机器人与人类之间的战争。:)
从而也引发了编程思维与习惯,风格等问题。
1)如果你不想让代码执行,那么最好的办法就是不要写它们,就像漫画中的代码一样,如果比不想让机器人伤害人类,kill(humans)的代码就不要实现好了。
2)如果出于某些原因,你只是临时不想让某些代码不执行,那么比较好的办法是让它没有机会执行,让它变成死代码,而不是有任何的机会复活,比如漫画中的代码,改成if(false)就让其变成彻底的死代码了。
3)如果非要对两个值进行比较的话,比较稳妥的方法是常数值放在比较符号的左边,这样,如果你不小心少写了一个=号,编译器会告诉你错误,比如漫画中的代码改成if( true = isCrazyMurderingRebot),编译器就会告诉你少写了一个=号。
4)对于true和false判断,强烈建议不要用==来进行判断,我们以c++为例,只需要简单地进行if(isCrazyMurderingRebot) 或者if(!isCrazyMurderingRebot)就好了,因为编译器规定true为非0值,有时候你用==来比较,很有可能不能达到你期望的效果。
从一副漫画说编码思维,编码习惯,编码风格 (条件判断,死代码,true 或false)相关推荐
- python编码思维导图_Python入门之ATM+购物车代码版思维导图
该项目结合了ATM模版和购物车需求,整个思维导图用Python代码实现,使用思维导图可以清晰明了的看清整个框架: 过程中,用到了Python的知识有Python常用模块,Python常用内置包,log ...
- kks 计算机设备,金思维电厂KKS编码解决方案
KKS编码 KKS编码系统是当今电厂的工程建设.运行管理以及计算机信息交互中一种通用的格式化语言,用于保证电厂在遵守各个专业规则的前提下进行交流,这些专业包括:土建专业.机械专业.电气专业.热工专业以 ...
- (转)js的编码成gb2312的编码函数(URLEncode)
js的编码成gb2312的编码函数(URLEncode) 分类: JavaScript2014-05-15 08:24 776人阅读 评论(0) 收藏 举报 http://blog.csdn.net/ ...
- 4位格雷码的顺序编码_格雷码编码 解码 实现(Python)
作者:曹博 01 二值码 02 格雷码编码 2.1 编码优点 2.2 编码生成 2.3 递归生成 2.4 二值码转换 2.5 编码图 03 格雷码投影 3.1 投影图案生成 3.2 DLP投影图像 0 ...
- 【数字图像处理】Matlab实现-图像增强-彩色图像增强(彩虹编码,热金属编码)
伪彩色处理 伪彩色增强:把一幅黑白域图像的不同灰度级映射为一幅彩色图像的技术手段. 伪彩色增强有很多种方法,而下面的增强方法则是使用的空间域灰度级-彩色变换法. 空间域灰度级-彩色变换法:可以将灰度图 ...
- 网上搜集了点资料,学web的人互相分享共同进步吧(php编码的好习惯必须养成)...
网上搜集了点资料,学web的人互相分享共同进步吧 一.优秀的代码应该是什么样的? 优秀的PHP代码应该是结构化的.大段的代码应该被分割整理成一个个函数或方法,而那些不起眼的小段代码则应该加上注释,以便 ...
- R语言dplyr包的mutate函数将列添加到dataframe中或者修改现有的数据列:基于条件判断创建布尔型指示变量、将异常离散编码转化为NA值
R语言dplyr包的mutate函数将列添加到dataframe中或者修改现有的数据列:基于条件判断创建布尔型指示变量.将异常离散编码转化为NA值 目录
- python字符编码讲解_python 字符编码讲解
ASCII控制字符 Unicode编码 ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字 ...
- python2 python3编码_Python2和Python3编码问题-从底层出发
首先需要强调---无论是python2还是python3都可以理解成是Unicode编码,但是在电脑硬盘上存储是按照不同的映射关系的. Python的encode和decode 首先明白一件事情,之前 ...
最新文章
- 27年安全技术老兵无奈“一摔成名”,谭晓生自述一年创业进展
- opencv 白平衡
- Linux netstat命令介绍
- mac python3 安装mysqlclient
- Nginx入门简介和反向代理、负载均衡、动静分离理解
- 直播 | ICML 2021论文解读:满足隐私保护要求的去中心化无监督域迁移范式
- mysql 函数返回查询结果_MySQL数据库中常用查询函数简介
- 比较好的电脑系统_如何重装平板电脑系统?各种Windows系统平板win8升级win10方法...
- 02277微型计算机原理及应用,微型计算机原理及应用(课程代码:02277).doc
- Excel利用函数进行转置(TRANSPOSE)、Excel中INDEX函数如何使用
- 跨账号迁移阿里云镜像
- Android View绘制流程
- java英文面试常见问题归纳
- Android自定义进度条拖动,Android之ProgressBar(进度条)和SeekBar(拖动条)
- 非线性规划:实例与matlab应用
- Matlab App Designer 函数写法
- 2021年深圳市产业发展与创新人才奖申报条件及材料
- 特斯拉DTC运营解读
- Numpy删除指定行
- m基于EM参数估计的Gamma随机过程电池剩余寿命预测matlab仿真
热门文章
- mysql 连接查询两个条件_MySQL之多表查询一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习...
- 输入对话框 android,android 输入对话框 确认对话框
- 基于jquery的php分页,基于jQuery封装的分页组件
- TensorFlow 最小二乘法拟合
- linux mpich配置_Linux下安装MPICH
- 114. Leetcode 53. 最大子数组和 (动态规划-子序列问题)
- 子数组的最大累加和问题
- pytorch处理多维输入的问题
- 文巾解题 面试题 03.06. 动物收容所
- 深度学习核心技术精讲100篇(二十八)-由浅入深概览机器学习优化算法