F#中的代码分析

Code analysis in F#

作为一名 C# 开发人员,我受益于 Microsoft 的代码分析。然而,在 F# 中,代码分析似乎并不是开发周期的组成部分。在 F# 项目上启用 CA 花了我一段时间,但这 blog helped。现在我启用了 CA,它似乎会产生 "wrong" 警告。例如,我将记录类型声明为

type Account = {Number : string}

默认情况下我希望结构相等。 This blog 说明两个 Acccount 类型的实例,其数量相同,应该相等。为什么代码分析然后告诉我:'Account' 应该定义运算符 '!=' 因为它实现了 IComparable?当然,如果这是 C# class,那么我将不得不跳过所有这些障碍,但在 F# 中这应该会自动发生。

我正在应用 "Microsoft All Rules" 规则集。这些不适用于 F# 吗?如果适用,是否有我应该使用的规则集?

您也可以使用 FSharpLint in Visual F# Power Tools :