F# 中的代码分析

2023-12-29

作为一名 C# 开发人员,我从 Microsoft 的代码分析中受益匪浅。然而,在 F# 中,代码分析似乎并不是开发周期的一个组成部分。我花了一段时间才在 F# 项目上启用 CA,但这博客有帮助 http://blog.nikosbaxevanis.com/2013/09/08/how-to-enable-code-analysis-for-fsharp-projects/。现在我启用了 CA,它似乎会产生“错误”警告。例如,我将记录类型声明为

type Account = {Number : string}

我默认期望结构平等。这个博客 http://theburningmonk.com/2011/10/fsharp-referential-equality-for-tuples-discriminated-unions-and-records/演示了数量相同的 Acccount 类型的两个实例应该相等。为什么代码分析然后告诉我:“Account”应该定义运算符“!=”,因为它实现了 IComparable?当然,如果这是一个 C# 类,那么我将不得不跳过所有这些麻烦,但在 F# 中,这应该自动发生。

我正在应用“Microsoft 所有规则”规则集。这些是否不适用于 F#?如果适用,是否有我应该使用的规则集?


您还可以使用FSharpLint http://fsprojects.github.io/FSharpLint/ in Visual F# 电动工具 https://visualstudiogallery.msdn.microsoft.com/136b942e-9f2c-4c0b-8bac-86d774189cff/ :

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

F# 中的代码分析 的相关文章

  • F#:将字符串选项转换为字符串的最短方法

    目标是转换一个string option这是通过一些很好的类型计算得出的一个简单的string然后可以传递到 UI printf URL 其他只想要一个字符串并且对选项类型一无所知的东西 None应该变成空字符串 显而易见的方法是做一个ma
  • 使用 F# 的爱因斯坦之谜解决方案 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我在找爱因斯坦之谜 http en
  • Valgrind 自动测试——它们在什么地方使用过吗?

    您认为基于 valgrind 工具套件运行一组自动测试有意义吗 您听说过或看到过这样的设置吗 这样的设置可以执行哪些自动 不受人类直觉影响 操作 如果您在单元测试或最终构建测试中检查内存问题 错误代码 那么这是有意义的 可能有两种方法 编写
  • C++/CLI:CA2123:需要 SecurityCriticalAttribute?

    我对这样的错误有点迷失 警告 7 CA2123 Microsoft Security 添加以下安全属性 到 RithmicConnector 连接 字符串 为了匹配基地的 LinkDemand 方法 IConnector Connect S
  • F# 设置带有参数的 SQLCommand 的最佳方法

    我的 F 程序需要与 SQL Server 通信 在一部分中我有这样的事情 let workFlowDetailRuncommand new SqlCommand query econnection workFlowDetailRuncom
  • 在 F# 中组合谓词

    F 中是否有逻辑组合谓词的标准方法 例如 假设我有isCar x and isBlue x然后我想要一些能给我的东西 let isBlueCar x isCar x isBlue x 但是使用某种组合而不是调用 可能像 let isBlue
  • F# 中的异步 EF 查询

    在使用 EF6 的 C 中 我可以轻松地进行如下异步操作 using var context new MyDbContext var item await context SomeEntities Where e gt e Id 1 Fir
  • F# 中的组总计 - 使用序列很容易,可以使用列表吗?

    给定一组 id value 元组序列 很容易计算组总数 与使用 C 和 LINQ 执行此操作的方式几乎相同 let items g1 5 g2 10 g1 20 let groupsums items gt Seq groupBy fun
  • 双前向/后向管道操作符是否有记录?

    我记得读过有关双管道运算符的内容 gt 和 Example let print a b sprintf O O a b 1 2 gt print val it string 1 2 双 向前 向后 管道运算符记录在以下列表中MSDN 上的
  • F# 是卡牌游戏 AI 的好语言吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • F# 在类型提供程序内的类型扩展函数中生成类型

    我有以下问题 在我的类型提供程序中 我需要使用一个返回此泛型类型实例的方法来扩展我之前定义的泛型类型 我的意思是 假设我们有 type receiveType lt a gt class val Next int val Type stri
  • 管道序列中的异常处理

    我正在开发一个基本的 2D CAD 引擎 管道操作符显着改进了我的代码 基本上 有几个函数从空间中的点 x y 开始 并在多次移动操作后计算最终位置 let finalPosition startingPosition gt moveByL
  • 如何在MVVM中实现appSettings

    我正在尝试摆脱我使用的警告appSettings在 WPF 项目中 应用程序配置
  • 使用 AdHocWorkspace 会导致“不支持语言‘C#’”。

    在VS2015中使用Microsoft CodeAnalysis CSharp Workspaces的RC2 这段代码会抛出异常 var tree CSharpSyntaxTree ParseText var workspace new A
  • 使用 SqlBulkCopy 和 F# 在 SQL 中导出矩阵

    我想将大量数据从 F 传输到 SQL 表 基本上我的 F 代码创建了一个三列矩阵 UserID ProductID and price 和N行 我想将其 复制 粘贴 到数据库中 我尝试了多种选择 但最终 从 F 传输数据非常慢 10000
  • 从 C# 调用高阶 F# 函数

    给定 F 高阶函数 在参数中采用函数 let ApplyOn2 f int gt int f 2 和 C 函数 public static int Increment int a return a 我怎么打电话ApplyOn2 with I
  • 如何使用 FLinq 在 F# 中进行外连接?

    问题几乎说明了一切 我有一个如下形式的大 flinq 查询 for alias1 in table1 do for alias2 in table2 do if alias1 Id alias2 foreignId 使用这种形式 如何在这两
  • F# 中的数组初始化

    如何根据给定的记录类型在 F 中创建和初始化数组 假设我想创建一个包含 100 个 record1 记录的数组 e g type record1 value1 string value2 string let myArray Array i
  • “不等于”的 F# 语法是什么?

    在 C 代码中 它会是这样的 if c 0 some code 那么在 F 中呢 From MSDN 有关 F 算术运算符的页面 http msdn microsoft com en us library dd469493 aspx 看起来
  • F# 命名约定

    F 是否有 官方 命名 大小写约定 我总是怀疑是否使用 C 风格 Class MyFunctionName or Module my function name 在 F 中 您应该混合 BCL 类和 F 库类 它们具有不同的大小写 并且代码

随机推荐

  • 我应该将存储的 Markdown 转换为 HTML,还是应该只存储 HTML?

    Markdown http daringfireball net projects markdown 似乎比 HTML 更容易编写和编辑 我见过的所有 HTML 编辑器都会输出大量不必要的垃圾 Markdown 看起来更干净 这就是我想做的
  • Android Studio 2.2.3 - minSdk(API21) > deviceSdk(API17) [重复]

    这个问题在这里已经有答案了 I get this error when I try to run an android tablet as an emulator Does it mean my device is older than t
  • jQuery 检查元素是否具有以某个字符串开头的类

    我需要循环访问页面中的一些元素 然后 对于每个元素 如果它有一个以 C 开头的类 则执行某些操作 dialog li each function if this hasClass C do something 这可能听起来很愚蠢 但是我应该
  • R 中的困难聚合,对球队篮球统计数据进行分组

    预先感谢您对此的任何帮助或建议 这是我正在使用的数据框的简短示例 boxscore stats structure list game id c 157046L 157046L 157046L 157046L 157046L 157046L
  • WCF WebGet 和 ICollection<>

    我正在尝试从 REST WCF 服务返回通用 ICollection 以下应该可行吗 ServiceContract public class WebConfigurationManager WebGet OperationContract
  • 有什么相对简单的方法来确定一个句子是英语的概率?

    我有许多字符串 字符集合 它们代表不同语言的句子 例如 你好 我叫乔治 Das brot is the gut etc 我想为每个句子分配分数 从 0 1 表明它们是英语句子的可能性 是否有一个公认的算法 或Python库 可以做到这一点
  • Java中删除字符串中的重复行

    我的字符串是 EEE EEE AAA BBB CCC BBB DDD CCC 但我需要这个字符串没有相同的行 像这样 EEE AAA BBB CCC DDD 我该怎么做 这是一个简单的答案 StringBuilder builder new
  • C# 异步任务无限期等待

    我正在尝试使用 异步 和 等待 提供的功能来异步下载网页内容 但我遇到了任务永远等待完成的问题 您能否让我知道以下代码片段有什么问题 protected void Page Load object sender EventArgs e va
  • Python 中的静态数组

    我正在学习如何用 python 编程 同时也在学习理论作为计算机科学课程的一部分 在编程中 我知道我可以通过使用 append 函数向数组添加其他变量 但是在我的理论课程中 我们被告知数组的大小既不能增加也不能减少 这在Python中是如何
  • 我希望我的 pre('save') 猫鼬函数只运行一次

    我不知道标题中的确切要求是否可能 但如果不可能 我真的很感激一个替代解决方案 我有猫鼬的预保存方法 ownerSchema pre save function next const owner this bcrypt genSalt 10
  • 创建对象时出现错误“存在显式转换(是否缺少强制转换)”:

    我有兴趣学习 OOP 概念 在尝试使用继承的简单程序时 我注意到这个错误 我不明白为什么会出现这个错误 我给出了下面简单的 C 代码 class Animal public void Body Console WriteLine Anima
  • *onbeforeunload* 是否在 Safari (macOS) 上缓存?

    我添加了一个事件监听器beforeunload 按照惯例 https developer mozilla org en docs Web API WindowEventHandlers onbeforeunload在我的 JS ReactJ
  • 重新使用现有 Microsoft Identity 用户表时密码(哈希)不匹配

    我们有一个现有的 SQL 数据库微软身份表 最初由 ASP NET Core 应用程序生成 我们还有一个 ASP NET 4 应用程序 它也使用 Microsoft Identity 我们希望 ASP NET 4 应用程序能够使用同一数据库
  • subversion中“让深度粘性”有什么作用?

    我很难找到有关在 SVN 工作副本上使用粘性深度设置的行为的明确文档 在 SVN 中 当使用 更新到修订版本 对话框时 会有一个 使深度粘性 复选框 使深度粘性和非粘性之间有哪些有效区别 当深度为粘性时 您每次更新时都将使用相同的设置进行更
  • PHP以真正的二进制方式读取二进制文件

    我在谷歌上搜索了我的问题 但没有找到解决方案 我想读取一个文件并将缓冲区转换为二进制 例如 10001011001011001 如果我从文件中有这样的东西 bmoov lmvhd tF tF K T trak tkh d tF tF K e
  • Symfony 2:安装并启用 intl 扩展

    我在用着XAMPP for Windows并决定尝试一下Symfony 2 当我到达时Symfony Configuration它建议我安装并启用的页面intl 我尝试阅读PEAR s and PECL s指导 因为我完全0关于这个主题 开
  • std::ostringstream 覆盖初始化字符串

    以下代码会生成 0004567 铿锵 7 https repl it agustinf ostringstream bug or anti feature main cpp include
  • 连接到 Github 时“无法生成 ssh”,但 ssh -T [电子邮件受保护] 有效?

    我很难让 Github Netbeans 正常工作 我想将 ssh 与 git 在 Windows 7 上 结合使用来提交或克隆项目 但我不断收到此错误消息 git clone email protected cdn cgi l email
  • NSOutlineView 缩进问题

    我使用 NSOutlineView 对象来表示文件结构 并发现它不会正确缩进任何可扩展的子项 尽管它会缩进不可扩展的子项 这是一张图片来说明我的意思 在此示例中 AnotherFolder 是 Folder2 的子级 但它没有与其他缩进文件
  • F# 中的代码分析

    作为一名 C 开发人员 我从 Microsoft 的代码分析中受益匪浅 然而 在 F 中 代码分析似乎并不是开发周期的一个组成部分 我花了一段时间才在 F 项目上启用 CA 但这博客有帮助 http blog nikosbaxevanis