通常,当我使用lambda表达式时,我只是使用“a,b,c,d ...”作为变量名称,因为这些类型很容易推断出来,并且我发现短名称更易于阅读。这里有一个例子:Lambda变量名称 - 简称,还是不简称?
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变量名称的一般共识是什么?要简称,还是不要简称?
是的,我倾向于在表达式语法中更好地命名,但那是因为范围更宽,并且可能变得混乱。 – TheSoftwareJedi 2009-01-14 16:04:30
在表达式语法中,由于范围较宽,我通常会命名较长的名称。我没有看到写作.OrderBy(theInt => theInt)而不是.OrderBy(a => a)。 – TheSoftwareJedi 2009-01-14 16:15:08
它使查询中该元素的更清晰。不幸的是,这并不总是显而易见的。 – 2009-01-14 16:24:32