|
|
1
35
在大多数情况下,一个简单的GetFoo就足够了,因为调用者不需要知道您正在创建和缓存它。这就是封装的意义所在。 但是,在某些情况下,创建是一项昂贵的操作,因此了解您可能正在按需创建某些内容,并且在某些情况下创建速度会很慢是很有用的。在这种情况下,不同的命名约定使调用者更清楚。在本例中,GetOrCreate()或Get(Options.CreateIfMissing)对调用方是一个很好的提示。 (当然,应该在文档中注明这种行为,但最好使用一个方法名称,在人们阅读代码时提醒他们有关副作用的信息,而不必为每个调用的方法打开并阅读文档)
|
|
|
2
20
我知道我问得太晚了,但我能向你求婚吗
在看
synonyms of
Grab似乎很少使用,而且可能带有(尽管很弱)的语义
|
|
|
3
12
|
|
|
4
8
文字
|
|
|
5
5
我的首选项是GetFoo(),因为从调用者的角度来看,操作是获取的,而缓存更像是一个实现细节。 |
|
6
3
我会叫它
|
|
|
7
2
对于缓存,我可以简单地称之为GetFoo()。缓存被设计成数据源后面的门面,这样调用者就可以轻松地访问项,而不用担心它们是如何加载的。 我可以称之为GetFoo,但是如果请求的对象不在缓存中,那么缓存将加载它(以及可能产生的所有潜在性能影响)。 |
|
|
8
2
如果您是引用透明的或者对象是单例的,那么另一个选项是有意义的。
这对呼叫站点有一个好处。如果您的调用在创建上下文中是昂贵的,那么您的被调用方知道,可以使用急切的初始化将调用开销转移到程序的非关键部分。
|
|
|
9
1
我只想
|
|
|
10
1
或
就像独生子女班一样。 |
|
|
11
1
我用
|
|
|
12
1
有几个定义似乎很合适:
这个词在你的问题中也可以分为两种观点。
Be=创建 Get=获取 加上它很短。
我从Autofac借用这个词,Autofac使用Resolve方法获取对象的实例,或者在必要时创建它。 |
|
|
13
0
如果创建对用户不重要,则为GetFoo;否则,称之为createOrGetFoo。 如果需要区分概念,可以使用GetFoo、CreateFoo和createOrGetFoo等方法。 根据你提供的信息,我更愿意把它命名为GetFoo。 |
|
|
14
0
假设这个方法在cacheManager上,那么fetch(wanted)[或者get(wanted)取决于您的个人pref]就足够了-API doc指示如果该项不存在就创建它。
|
|
|
15
0
就像
|
|
|
16
0
1.查找同义词 你可以试着找到“get”的同义词。然而,您可能会发现,不使用“get”的getter可能意味着其他内容,但您并不确切知道它的作用。我会避免使用这种方法,因为最终理解它的功能是不干净的。
您可以添加副词,通过确保您做了一些事情来指定get方法。例如“getCreated”、“getSafe”、“getAssured”、“getAssured”、“getInit”、“getInitialized”。这样一来,它就可以清楚地理解它是一种干劲,但同时也告诉你,它还会发生别的事情。但是,您可能不知道名称是属性还是get的一部分。比如“getSecureUrl”。所以我会避免在get中使用后缀。 (不好) 你也可以添加averbs作为前缀,告诉你在做什么。比如“secureGet”,“safeGet”,“initGet”。。。虽然这与属性没有冲突,但是您不知道它是否是一个getter,或者是在getter之前做了一些事情而实际上没有得到一些东西的其他东西。所以返回值可能是意外的。我也会避免这种做法。 4.用词来描述你的实际工作 (也许)
这样你就知道你可以初始化一些东西,而不仅仅是得到一些东西。这样你就可以保持你的吸气剂干净和简单,没有混合它。然而,如果你正在寻找一些你必须考虑的更标准的东西,那么如果人们正在寻找获得者,他们可能找不到它。所以这可能不是最好的。 5.提高吸气剂的附加性能 (好的)
通过这种方式,您可以向get函数提供信息,如果布尔值为true,它应该尝试强制获取其值。如果你使用一个合适的IDE,它也会告诉你争论的关键是“force”、“create”或类似的东西,所以你总是知道它是做什么的。明智的预期可能是通过最干净的方法。 6.合并初始化和getter而不合并它们 (好的) 扪心自问,为什么一定要把它组合起来呢?当然,这是单行线,但是。。。你需要吗?简单的一个接一个地做怎么样:
有时候,最好不要仅仅因为有一条线就把一些东西混在一起。 7.你真的创造了什么还是简单的储存了它? (好的) 如果你只是储存一些类似的东西:
8.你为什么要把两个不同的意思组合在一个动词里呢?
|
|
|
17
0
|
|
|
18
-1
如果这个设计在您的应用程序中有逻辑意义,那么我认为
另一种明确表达其目的的方法是
当然,如果我们真的在谈
隐藏物
|
|
|
19
-1
|