C产品在市场上有哪些独特优势?

2026-05-08 15:242阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1448个文字,预计阅读时间需要6分钟。

C产品在市场上有哪些独特优势?

起因+今天在公司处理一个需求时,写的面条代码,一个方法直接从头写到尾,其中用到了GroupBy,且KeySelector是多个属性而非单个属性。但公司最近推广Clean Code,需要让代码健壮。

起因

今天在公司做一个需求的时候,写的是面条代码,一个方法直接从头写到尾,其中用到了GroupBy,且GroupBy的KeySelector是多个属性而不是单个属性。

但是公司最近推行Clean Code,要让代码有可读性。且作为一个有追求的程序员,肯定是不能写面条代码的,要对代码进行拆分。

重构前GroupBy大概是这样子的:

var groups = data.GroupBy(m => new { m.PropertyA, m.PropertyB})

个人对于短的Linq比较习惯于用方法而不是用关键字的那种写法。

一开始这样写是没问题的,但是重构的时候问题就来了:这个groups是什么类型?

重构以后这个groups是要作为参数进入到别的方法中的,方法签名显然是不能用var做类型推导,必须指定确定的类型。

我们知道GroupBy出来的东西是个泛型的东西,签名是IEnumerable<IGrouping<TKey, TSource>>,这个TSource类型是没问题,我没有对Source做修改,就是data本身的类型。

但是这个Key就有问题了。

阅读全文

本文共计1448个文字,预计阅读时间需要6分钟。

C产品在市场上有哪些独特优势?

起因+今天在公司处理一个需求时,写的面条代码,一个方法直接从头写到尾,其中用到了GroupBy,且KeySelector是多个属性而非单个属性。但公司最近推广Clean Code,需要让代码健壮。

起因

今天在公司做一个需求的时候,写的是面条代码,一个方法直接从头写到尾,其中用到了GroupBy,且GroupBy的KeySelector是多个属性而不是单个属性。

但是公司最近推行Clean Code,要让代码有可读性。且作为一个有追求的程序员,肯定是不能写面条代码的,要对代码进行拆分。

重构前GroupBy大概是这样子的:

var groups = data.GroupBy(m => new { m.PropertyA, m.PropertyB})

个人对于短的Linq比较习惯于用方法而不是用关键字的那种写法。

一开始这样写是没问题的,但是重构的时候问题就来了:这个groups是什么类型?

重构以后这个groups是要作为参数进入到别的方法中的,方法签名显然是不能用var做类型推导,必须指定确定的类型。

我们知道GroupBy出来的东西是个泛型的东西,签名是IEnumerable<IGrouping<TKey, TSource>>,这个TSource类型是没问题,我没有对Source做修改,就是data本身的类型。

但是这个Key就有问题了。

阅读全文