我正在重构一些业务规则函数,以提供更通用的函数版本。
我正在重构的功能是:
DetermineWindowWidth
DetermineWindowHeight
DetermineWindowPositionX
DetermineWindowPositionY
所有这些都进行字符串解析,因为它是一个字符串解析业务规则引擎。
我的问题是新重构的函数会有什么好名字? 显然,我想避开像以下这样的函数名称:
DetermineWindowWidthHeightPositionXPositionY
我的意思是,这样可行,但它似乎不必要地长,当它可能是这样的:
DetermineWindowMoniker
或类似的东西。
功能目标:解析输入字符串,如1280x1024或200,100,并返回第一个或第二个数字。用例是用于Web浏览器窗口的数据驱动测试自动化,但这应该与答案无关。
问题目标:我有代码来执行此操作,所以我的问题不是代码,而只是函数名称。有什么想法吗?
答案 0 :(得分:1)
细节太少,你应该至少指定参数和函数的返回值。
DetermineWindow*
函数,但是让它们都调用这个泛型函数? 在不知道通用功能具有哪些参数的情况下,它更难以提供帮助,但很可能无法给它一个简单的名称。
并非所有批次的代码都可以用简单的名称来描述。
如果你想拥有清晰的名字,你很可能需要使用不同的结构。这是一个想法,用伪代码:
ParseSize(string, outWidth, outHeight) {
ParsePair(string, "x", outWidht, outHeight)
}
ParsePosition(string, outX, outY) {
ParsePair(string, ",", outX, outY)
}
ParsePair(string, separator, outFirstItem, outSecondItem) {
...
}
各种DetermineWindow
会调用ParseSize
或ParsePosition
您也可以直接使用ParsePair
,但我认为将两个其他功能放在中间是更清晰的。
请注意,您可能通过使用对象而不是字符串(Size
和Position
,而且可能还有Pair
)来获得更清晰的代码。
ParsePair
代码(适当调整)将包含在构造函数或工厂方法中,该方法为您提供字符串中的对。
当然你可以给各种函数,对象和参数赋予其他名称,在这里我使用了第一个我想到的。
答案 1 :(得分:0)
似乎这个问题答案提供了一个很好的起点来回答这个问题: Appropriate name for container of position, size, angle
在www.thesaurus.com上搜索“Property”会给出一些有趣的可能答案,为使用提供足够有意义的上下文:
Aspect
Character
Characteristic
Trait
Virtue
Property
Quality
Attribute
Differentia
Frame
Constituent
我认为ConstituentProperty
可能是最合适的。