建议如何命名“get / create& get”函数

时间:2013-04-24 19:59:47

标签: naming

我正在开发一个函数,它通过值(例如名称)从容器(例如数组)返回一个对象。如果该对象尚不存在,则创建并返回该对象的默认副本(默认构造函数)。

这样,这个函数总是返回一个对象,无论对象在调用函数之前是否存在。

现在我的问题是:如何命名这个功能? GetOrCreateThenGet 听起来很愚蠢。有什么想法吗?

编辑:我觉得这样的事情更接近函数的本质: GetForSure ......

3 个答案:

答案 0 :(得分:5)

为什么除了getXXX()之外还需要其他任何内容。任何具有and / or的方法都意味着它正在做很多事情并且正在混淆问题并严重违反Single Responsibility Principle

如果对象是按需创建的,那么调用者是否真的关心对象是否需要合同来获取对象?

getOrCreate表示您get对象orcreated但不会返回。

为什么我会关心create部分呢?

如果我真的应该关心它会getOrCreateAndGet在语义上是正确的,但是非常不正统,并且倾向于与同行讨论如何处理许多事情并混淆问题和打破Single Responsiblity Principle?仅仅因为其他人将事物命名为“笨拙”和“非感性”并不是一个错误的理由。

答案 1 :(得分:5)

该功能最合适的名称是"提供"就像你提供商品一样,你可以从仓库发货,或者买/买一个新货,然后送货。

答案 2 :(得分:-1)

GetGuaranteed 似乎涵盖了所有来电者需要了解的信息......