硬编码与非硬编码(软编码)区别
在计算机程序中, 硬编码是指将可变变量用一个固定值来代替的方法, 使用这样方法,编译后,如果想更改词变量就变的非常困难。因此, 在大部分的程序语言中,可以将一个固定值定义为一个标记, 然后用这个特殊的标记来取代变量名称。 当标记名称发生改变时, 变量名不变。这样在程序进行编译时,所有的变量都不再是固定值 这样就更容易实现改变变量的目的。
所以在通常情况下, 应该避免使用硬编码方法:
例如:
java 例子:
硬编码: if(a==2): return false:
非硬编码: if(a==b):return false:
硬编码通常来讲: 就是把数值写成常数,而不是变量
C++ 例子
硬编码:
for(int I = 0; I<120; i++){
...
}
非硬编码:
#define MAX_USER_CNT 120
for (int i=0; i<MAX_USER_CNT; i++){
...
}
这里的120就属于数字式“硬编码”,这不仅让程序很难读,而且不易维护。如果要修改120,就的修改程序中所有与此有关的120。应将数字式“硬编码”声明成一个宏,这样程序不仅易读,而且还可以一改全改。
软编码比硬编码要复杂一些,对以后的考虑要周到一些。软编码是一种设计,而硬编码不过是一种具体的实现。软件开发不只是需要一个软件的实现,更需要软件能够很好的修改,方便得扩展,所以需要一些设计技巧在里面。
转载于:https://my.oschina.net/u/2272631/blog/1633869
硬编码与非硬编码(软编码)区别相关推荐
- 硬编码 and 软编码
硬编码: 什么是"硬编码"? "硬",顾名思义,就是死板,一次性的意思.其定义也就是"将可变变量用一个固定数值表示",这种方式在编码的过程中 ...
- 1小时学会:最简单的iOS直播推流(八)h264/aac 软编码
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源 ...
- 硬编码和软编码的区别
Android 视频 硬编码和软编码的区别 软编码和硬编码如何区分 软编码:使用CPU进行编码 硬编码:使用非CPU进行编码,如显卡GPU.专用的DSP.FPGA.ASIC芯片等 软编码和硬编码比较 ...
- 简单谈谈硬编码和软编码
工作中,经常被问硬编码.软编码怎么区分的问题,还是对这个问题整理一下吧. 一.软编码和硬编码如何区分 软编码:使用CPU进行编码 硬编码:使用非CPU进行编码,如显卡GPU.专用的DSP.FPGA.A ...
- 去抖音面试被问到硬编码与软编码区别,如何选取硬编与软编?
原文链接:https://zhuanlan.zhihu.com/p/82130600 Android的视频相关的开发,大概一直是整个Android生态,以及Android API中,最为分裂以及兼容性 ...
- Android 音视频采集与软编码总结
请尊重原创,转载请注明出处:http://blog.csdn.net/mabeijianxi/article/details/75807435(本文已在 "任玉刚" 微信公众号发布 ...
- FFmpeg简述,源码分析,录制/压缩/水印/剪切/旋转/滤镜/美颜/上传视频等(CPU软编码和解码)
> ffmpeg源码分析 ffmpeg源码简析(一)结构总览- https://blog.csdn.net/Louis_815/article/details/79621056 FFmpeg的库 ...
- 【Android RTMP】RTMPDump 封装 RTMPPacket 数据包 ( 关键帧数据格式 | 非关键帧数据格式 | x264 编码后的数据处理 | 封装 H.264 视频数据帧 )
文章目录 安卓直播推流专栏博客总结 一. x264 编码后的 H.264 数据帧 二. RTMP 协议中 关键帧 / 非关键帧 数据格式 说明 三. 判定 H.264 帧数据分隔符 四. 初始化 RT ...
- 哈夫曼编码的非树节点形式实现
哈夫曼编码的非树节点形式实现 楔子 思考过程 于是想自己写一个headq 构建二叉树实在太久了,完全不让看文档,不敢不相信在有限的时间里可以调试成功,于是就想了使用非树的实现方式,就是把手动画的二叉树 ...
最新文章
- Python的最佳学习方式
- 精妙SQL语句【转】
- Linux C++ 实现线程池
- android fragment 教程,Android Fragment教程总结
- css 点击效果_使用CSS实现逼真的水波纹点击效果
- python求完全平方数_【Python】【demo实验6】【练习实例】【完全平方数相关】
- http地址后面加上问号?防止IE缓存
- MongoDB 安全权限访问控制
- 【数据清洗】异常点的理解与处理方法(1)
- 目标检测(二十)--Mask R-CNN
- AD9如何自定义板子外形,导圆角
- 批量给pdf电子书添加页码书签
- oracle cude报错,【案例】Oracle报错PLS-00597 PLS-00635原因和解决办法笔记
- 【C++】1070:人口增长(信息学奥赛)
- 基因表达谱热图的绘制
- 5星|戴蒙德《为什么有的国家富裕,有的国家贫穷》:为什么有的国家能发展出好制度...
- 图片怎么转jpg?教你两个超简单的图片转jpg格式的方法
- bat批处理开发-wifi联网系列(5):wifi稳定性分析之日期时间比较及奇特数字的坑
- IAR工程某些文件字体改不过来
- FF4J(特性框架)简介及入门
热门文章
- 云小课|想实现资源全自动备份?看完这篇秘籍,不再蕉绿~
- 5G to B核心网建设白皮书发布:2025年运营商toB市场高达6020亿美元
- 【华为云技术分享】ARMv8-A存储模型概述(1)
- 【华为云技术分享】如何度量前端项目研发效率与质量(上)
- 【华为云技术分享】HDC.Cloud | 为防止交通事故,95后学生运用“黑科技”这样做!
- 如果让你手写个栈和队列,你还会写吗?
- leetcode-深度优先搜索
- 红橙Darren视频笔记 旋转加载界面
- 【李宏毅机器学习】Tips for Deep Learning(p14) 学习笔记
- 机器学习十大经典算法之AdaBoost