Are*_*ren 41 .net linq formatting code-readability
在您忽略/投票关闭此问题之前,我认为这是一个有效的问题,因为代码清晰度是讨论的一个重要主题,编写可维护代码至关重要,我非常感谢那些之前遇到过这些问题的人的答案. .
我最近遇到了这个问题,由于嵌套量很大,LINQ查询可能会非常快速.
下面是我提出的格式差异的一些示例(对于相同的相对非复杂的查询)
没有格式化
var allInventory = system.InventorySources.Select(src => new { Inventory = src.Value.GetInventory(product.OriginalProductId, true), Region = src.Value.Region }).GroupBy(i => i.Region, i => i.Inventory);
Run Code Online (Sandbox Code Playgroud)
提升格式
var allInventory = system.InventorySources
.Select(src =>
new {
Inventory = src.Value.GetInventory(product.OriginalProductId, true),
Region = src.Value.Region })
.GroupBy(
i => i.Region,
i => i.Inventory);
Run Code Online (Sandbox Code Playgroud)
块格式
var allInventory = system.InventorySources
.Select(
src => new
{
Inventory = src.Value.GetInventory(product.OriginalProductId, true),
Region = src.Value.Region
})
.GroupBy(
i => i.Region,
i => i.Inventory
);
Run Code Online (Sandbox Code Playgroud)
列表格式
var allInventory = system.InventorySources
.Select(src => new { Inventory = src.Value.GetInventory(product.OriginalProductId, true), Region = src.Value.Region })
.GroupBy(i => i.Region, i => i.Inventory);
Run Code Online (Sandbox Code Playgroud)
我想提出一个linq格式的标准,以便最大化可读性和理解,看起来干净和专业.到目前为止,我无法决定,所以我将问题转交给专业人士.
Amy*_*y B 19
我的格式:
var allInventory = system.InventorySources
.Select(src => new
{
Inventory = src.Value.GetInventory(product.OriginalProductId, true),
Region = src.Value.Region
})
.GroupBy(
i => i.Region,
i => i.Inventory
);
Run Code Online (Sandbox Code Playgroud)
笔记:
Rus*_*sty 10
我已经确定了块格式.它暂时困扰了我对"浪费空间"的感觉,但最终每个人都觉得它更容易被更多人阅读.由于我们已经在新行上添加了大括号,因此它与其余代码更合适.解释的空间也较小.我们守在公用存储的CS文件已格式化的例子......当有人来了,我们把它添加到文件LINQ的独特大块......真的帮助新球员.