作为一名C#开发人员,我从微软的代码分析中受益匪浅.然而,在F#中,代码分析似乎不是开发周期的一个集成部分.我花了一段时间在F#项目上启用CA,但这篇博客有所帮助.现在我已启用CA,它似乎产生"错误"警告.例如,我有一个声明的记录类型
type Account = {Number : string}
Run Code Online (Sandbox Code Playgroud)
我希望默认情况下结构相等.此博客演示了两个类型为Acccount的实例,其数量相同,应该相等.为什么代码分析会告诉我:"帐户"应该定义运算符'!=',因为它实现了IComparable?当然,如果这是一个C#类,那么我将不得不跳过所有这些箍,但在F#中,这应该是自动发生的.
我正在应用"Microsoft All Rules"规则集.这些不适用于F#,如果是,那么我应该使用哪些规则集?