gpt4 book ai didi

c# - Func 方法参数的首选命名约定是什么?

转载 作者:IT王子 更新时间:2023-10-29 04:38:19 27 4
gpt4 key购买 nike

我承认这个问题是主观的,但我对社区的观点很感兴趣。我有一个缓存类,它采用 Func<TResult> 类型的缓存加载器函数。 ,它用于从数据库中检索值并将其存储在缓存中。

public static class Cache
{
public TResult Get<TResult>(string cacheKey, Func<TResult> cacheLoader)
{
// Implementation
}
}

我的问题是:我应该如何命名函数参数?

  • 我应该像对象一样命名它吗? cacheLoader
  • 我应该像方法一样命名它吗? loadResult
  • 我是否应该明确地将其称为函数,例如cacheLoadFunction ? (我不喜欢这样。)

我对应该如何命名这个特定函数参数不太感兴趣,而更感兴趣的是一般如何命名函数参数。 Stack Overflow 社区怎么说?

最佳答案

在框架中有使用名词的先例,例如

Enumerable.Average<TSource>(this IEnumerable<TSource> source, Func<TSource, decimal?> selector)

Enumerable.Count<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)

Enumerable.GroupBy<TSource, TKey, TElement>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector)

ConcurrentDictionary<TKey,TValue>.GetOrAdd(TKey key,
Func<TKey, TValue> valueFactory);

名词通常是一个合适的动词,带有an agentive suffix .

在您的示例中,我会使用类似loadervalueFactory 的东西。我个人不喜欢 cacheLoader,因为大概是调用者而不是委托(delegate)来执行缓存中的插入工作。

关于c# - Func<TResult> 方法参数的首选命名约定是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6061517/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com