c# - Lambda 变量名称 - 短名称,还是短名称?

标签 c# .net naming-conventions lambda

<分区>

通常,当我使用 lambda 时,我只使用“a、b、c、d...”作为变量名,因为类型很容易推断出来,而且我发现短名称更容易阅读。这是一个例子:

var someEnumerable = GetSomeEnumerable();
var somethingElseList = someEnumerable.Select(a => a.SomeProperty)
                                      .OrderBy(a => a.SomePropertyField);
var someDictionary = somethingElseList.ToDictionary(a => new SomeClass(a.Prop1),
                                                    a => a);

有些人质疑这种命名方式,更愿意看到长长的名字,像这样:

var someEnumerable = GetSomeEnumerable();
var somethingElseList = someEnumerable.Select(importantObj => importantObj.SomeProperty)
                                      .OrderBy(objsInfo => objsInfo.SomePropertyField);
var someDictionary = somethingElseList.ToDictionary(theInfoId => new SomeClass(theInfoId.Prop1),
                                                    theInfoId2 => theInfoId2);

由于范围非常狭窄(在括号之间),除非您变​​得愚蠢并嵌套它们,否则我发现短名称更容易阅读。

在不陷入我上面使用的愚蠢命名示例的情况下,关于 Lambda 变量名称的普遍共识是什么?要简称,还是不要简称?

最佳答案

我通常采用的方式取决于您要枚举的集合。如果集合的名称暗示了 lambda 参数的类型,那么我只使用单个字母,但是如果集合不具有描述性,那么我将使用一个词。

即:

myCollection.Where(person =>....); //non descriptive collection name

myPeopleCollection.Where(p=>...); // descriptive collection name

关于c# - Lambda 变量名称 - 短名称,还是短名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/443466/

相关文章:

angular - TypeScript 中类属性的命名约定

c# - 将文件保存到项目文件夹并保存其路径

c# - 当我在 Visual Studio 中发布 Azure 函数时包含文件

C#如何等待代理ping?

c# - 是否有已知的算法来查找 N 个元素中哪 K 个元素的总和最接近整数?

c# - 属性应该与其类型同名吗?

c# - ASP.NET 如何获取 Active Directory 中的组列表

c# - 我可以检测到垃圾收集在 .NET 中运行的时刻吗?

.net - 在参数中传递列表(字符串)值

c - 位掩码参数命名约定?