首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有将硬编码值转换为可配置参数的重构技术的名称?

是否有将硬编码值转换为可配置参数的重构技术的名称?
EN

Software Engineering用户
提问于 2015-05-05 14:44:08
回答 4查看 940关注 0票数 1

当您在代码中接受硬编码的值并使其成为变量时,可能会构造复杂的OO结构以使该变量适当地可配置,那么这种技术是什么?

例如,您正在打印标签,并且指定要打印每页的标签值,例如4

稍后,您会发现您有不同的标签大小和形状。您将构造一个标签工厂,该工厂调用适当的标签文件,该工厂还配置自己,并了解它们相对于页面的大小,然后通过使用多态函数调用返回页面,然后使用该值而不是硬编码的4

用我自己的话,我可以把它描述为

重构以增加软件的可配置性和灵活性。

但就命名技术而言,不..。

EN

回答 4

Software Engineering用户

回答已采纳

发布于 2015-05-06 06:06:17

在我的朋友中,我们经常把这种软编码称为软编码。这是一个文字游戏,意味着硬编码的相反,它有一个好的优势,它是可识别的大多数程序员。

更严格地说,如果我要在文档中描述它,它只是“使软件更加可配置”或这类的变体。

在与数学有关的软件中,我有时听到它被称为参数化代码。或者参数化。它是通过改变变量(参数方程)使方程能够改变行为的过程的名称。

票数 4
EN

Software Engineering用户

发布于 2015-05-05 14:49:12

反模式通常被称为魔术数字,但是重构并没有那么有名的名字。我的IDE调用将文本转换为外部参数的过程(例如,“外部化字符串”)。

票数 2
EN

Software Engineering用户

发布于 2015-05-06 06:11:00

Martin (“重构”一书的作者)可能会在不止一个步骤中做到这一点。这些步骤可以是,例如,用符号常数替换幻数“,用符号4代替LabelsPerPage,然后添加参数,用使用它的方法的参数来替换该常数。之后,用方法替换参数可以是通过一种方法提供每页标签的第一步,该方法之后可以通过多态替换类型代码来实现多态。

(见http://www.refactoring.com/catalog/)

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/281997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档