摘要: 前几天看了《Code Review 程序员的寄望与哀伤》,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享、探讨。我们为什么要推行Code Review呢?我们当时面临着代码混乱、Bug频出的状况。当时我觉得要有所改变,希望能提高产品的代码质量,改善 阅读全文
posted @ 2016-07-08 08:26 wenhx 阅读(89928) 评论(42) 推荐(97) 编辑
摘要: 代码要恰如其分,说的是只实现当前需要的功能,保留一定的可扩展性,但不要为了在很长一段时间内都不会发生的事情实现可扩展性。不要预测将来,将来的新需求可以通过不断的重构来保持代码的健康和可扩展性。 下面是一个在WCF内部服务中实现的类,这个前提很重要,这是一个服务的内部实现,不是契约,是不需要对外发布的 阅读全文
posted @ 2014-08-22 11:36 wenhx 阅读(1189) 评论(1) 推荐(3) 编辑
摘要: 本文同时讨论了IComparable和IComparer接口,原因有两点。这两个接口经常一起使用。虽然接口类似且名称相似,但它们却有不同的用途。 阅读全文
posted @ 2023-04-26 14:52 wenhx 阅读(352) 评论(0) 推荐(2) 编辑
摘要: ASP.NET Core引入了Options模式,使用类来表示相关的设置组。简单的来说,就是用强类型的类来表达配置项,这带来了很多好处。 初学者会发现这个框架有3个主要的面向消费者的接口:IOptions 阅读全文
posted @ 2020-03-23 20:54 wenhx 阅读(7785) 评论(13) 推荐(25) 编辑
摘要: 背景 当我们对ASP.Net Core内部的某些方法、类的实现感兴趣时,有很多方法可以去了解,看书,看各种文章,但是最直接也是最深入的办法就是去阅读源代码。ASP.NET Core的源代码托管在Github,项目地址是:https://github.com/dotnet/aspnetcore。如果只 阅读全文
posted @ 2020-02-17 08:01 wenhx 阅读(7136) 评论(7) 推荐(2) 编辑
摘要: 原文:https://blogs.msdn.microsoft.com/mazhou/2018/03/25/c-7-series-part-10-spant-and-universal-memory-management/ 译注:这是本系列最后一篇文章 背景 .NET是一个托管平台,这意味着内存访问 阅读全文
posted @ 2020-01-02 16:28 wenhx 阅读(960) 评论(0) 推荐(3) 编辑
摘要: 原文:https://blogs.msdn.microsoft.com/mazhou/2018/03/02/c-7-series-part-9-ref-structs/ 背景 在之前的文章中,我解释了许多新的C#特性,每一个特性都是为了增强语言或者解决问题而引入的。具体来说,我解释了值类型和引用类型 阅读全文
posted @ 2019-12-22 10:43 wenhx 阅读(4045) 评论(0) 推荐(1) 编辑
摘要: 原文:https://blogs.msdn.microsoft.com/mazhou/2018/01/08/c-7-series-part-8-in-parameters/ 背景 默认情况下,方法参数是通过值传递的。也就是说,参数被复制并传递到方法中。因此,修改方法体中的参数不会影响原始值。在大多数 阅读全文
posted @ 2019-12-20 16:32 wenhx 阅读(742) 评论(0) 推荐(1) 编辑
摘要: 原文:https://blogs.msdn.microsoft.com/mazhou/2017/12/12/c-7-series-part-7-ref-returns/ 背景 有两种方法可以将一个值传递给一个方法: 例如,FCL(.NET Framework Class Library)中的Arra 阅读全文
posted @ 2019-12-13 17:35 wenhx 阅读(1831) 评论(0) 推荐(0) 编辑
摘要: 原文:https://blogs.msdn.microsoft.com/mazhou/2017/11/21/c-7-series-part-6-read-only-structs/ 背景 在.NET世界中,有两种基本类型:引用类型和值类型。简单地说,引用类型是可以继承/扩展的类,当传递引用类型对象时 阅读全文
posted @ 2019-12-11 15:13 wenhx 阅读(876) 评论(0) 推荐(0) 编辑
摘要: 原文:https://blogs.msdn.microsoft.com/mazhou/2017/10/05/c-7-series-part-5-private-protected/ C#有几个可访问性修饰符,public、internal、internal protected和private。 pu 阅读全文
posted @ 2019-12-10 16:05 wenhx 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 原文:https://blogs.msdn.microsoft.com/mazhou/2017/06/27/c-7-series-part-4-discards/ 有时我们想要忽略一个方法返回的值,特别是那些out参数,一个典型的例子是检查一个字符串是否可以解析成另一种类型: 这里我们要忽略pars 阅读全文
posted @ 2019-12-09 14:48 wenhx 阅读(1751) 评论(0) 推荐(0) 编辑