如何修改代码中的硬编码问题

Posted bien94

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修改代码中的硬编码问题相关的知识,希望对你有一定的参考价值。

  在前端、后端编码中通常会出现一些固定的值,而这些固定的值有的是直接写死在逻辑代码中,有的是通过常量或者宏量替换来处理,也有的是通过枚举类型来转换,还有就是通过资源配置文件来处理。在上述的几种方式中,除了配置文件的方式外其余的方式都是写死在代码中,虽然从短期来看,这确实解决了交付代码的压力;但是从长期来看,这样的编码方式并不适应业务需求的变更,不够灵活。

  (一)何谓硬编码?

  最简单、最直接的理解就是将一些可以变化的固定值写死在代码中,是在代码运行之前就确定好了的,后续若想更改的话,只能是重新修改源代码和重新编译、构建后才会生效,这种编码过程就是硬编码。网络的解释是这样的:硬编码是将数据直接嵌入到程序或其他可执行对象的源代码中的软件开发实践,与从外部获取数据或在运行时生成数据不同。 硬编码数据通常只能通过编辑源代码和重新编译可执行文件来修改,尽管可以使用调试器或十六进制编辑器在内存或磁盘上进行更改。 硬编码的数据通常表示不变的信息,例如物理常量,版本号和静态文本元素。 另一方面,软编码数据对用户输入,HTTP服务器响应或配置文件等任意信息进行编码,并在运行时确定。

  (二)如何解决硬编码?

  这里介绍两种策略:

  1. 数据字典表:通过访问数据库的方式,从数据库中获取需要的固定值。
  2. 配置文件:重启服务,运行时读取配置文件中的配置项获取需要的规定值。

 

 

------20200207勉

以上是关于如何修改代码中的硬编码问题的主要内容,如果未能解决你的问题,请参考以下文章

更改 javascript 文件中的硬编码 ID

rpi-rf_send 脚本 + python raspberry pi 中的硬编码射频代码

混淆:隐藏java中的硬编码值[重复]

android studio 中查找代码中的硬编码

Service Fabric - 如何保留或保护我的硬编码端口

如何在 swift 2.0 中翻译我的硬编码字符串? [复制]