Lambda变量名称-使用短名称还是不使用短名称?[已关闭]

22 浏览
0 Comments

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变量命名,一般意见是使用短名称还是不使用短名称?

0