F#编码风格和标准

F#编码风格和标准,f#,coding-style,F#,Coding Style,虽然没有一种真正正确的风格,但C#社区在编码标准/风格方面存在一些普遍一致的观点;通常,它们是.NET Framework设计指南的变体 但是,当你观察F#时,标准显然不同于C#中被认为正常的标准。例如,List或Seq(几乎)上可访问的函数都以小写形式开始:List.fold、List.map(但List.Cons和List.Empty不…),而通常认为C#中的方法或属性应该大写 所以我的问题是,是否有广泛接受的F#编码约定?是否有与框架设计指南相当的标准,或良好的编码标准?另外,在以空格为基

虽然没有一种真正正确的风格,但C#社区在编码标准/风格方面存在一些普遍一致的观点;通常,它们是.NET Framework设计指南的变体

但是,当你观察F#时,标准显然不同于C#中被认为正常的标准。例如,List或Seq(几乎)上可访问的函数都以小写形式开始:List.fold、List.map(但List.Cons和List.Empty不…),而通常认为C#中的方法或属性应该大写

所以我的问题是,是否有广泛接受的F#编码约定?是否有与框架设计指南相当的标准,或良好的编码标准?另外,在以空格为基础的F#世界中,人们是否有无休止争论的话题,类似于永恒的C#花括号位置?

F#团队起草了一份文件,听起来正是你想要的。(我们目前正在收集社区/内部人士的反馈意见,我们已经将草案发送给了他们。)它很可能在不久的将来发布。当它发布时,我一定会把它链接到这里

编辑

你应该这样做。

更新#2:现在有一个。这包含了新的材料,也包含了我在下面的更新1中链接到的材料

更新#1:Don的论文(链接如下)已从Microsoft网站上删除。然而,这似乎是基于同一篇论文


Don Syme处理F#.

List.Cons和List.Empty的“大括号”格式样式问题是构造函数,而不是函数。这就是为什么它们以大写字母开头;然而,我想知道这种被接受的惯例是否被写在了某个地方。在C#中,方法和构造函数都以大写开头。非常酷。从长远来看,缺乏标准并不是我最大的问题,但我真的很喜欢一致性,这会有所帮助。关于F#的StyleCop之类的东西有什么想法吗?我个人没有任何想法,我也不知道有人计划创建这样的工具。(你可以创建它,并成为F#社区的重要成员!:)我认为大多数编码约定都来自OCaml背景。这篇文章现在似乎是离线的,但有一篇显然是基于它的。感谢评论@Dave。我已经用你的建议更新了答案。