F#是否有"官方"命名/套管约定?
我总是怀疑是否使用C#样式:
Class.MyFunctionName or Module.my_function_name
在F#中,你的意思是混合使用BCL类和F#库:它们有不同的外壳,代码看起来非常难看.
是的,存在混淆,因为多年来F#已经从OCaml转变为.Net.基本上,命名约定是"重大变化" - 旧代码与新代码不一致.
但是,2009年5月的CTP解决了这个问题.
该发行说明说...
标准库命名约定
F#库采用的命名约定如下:
所有.NET和F#OO代码都根据现有的.NET指南使用PascalCase
F#函数编程操作符(如List.map)用于F#内部实现代码.这种代码使用camelCase作为运营商名称
不应使用下划线.
所以,你的问题......
Class.MyFunctionName or Module.my_function_name
答案是
Class.MyFunctionName和Module.MyFunctionName
(适用上述规则1).
通过与F#编程运算符(例如List.averageBy)的比较仍然存在一些混淆,但生产F#代码应该使用CamelCase,因此看起来像其他人的.Net代码.如有疑问,请检查CTP 的示例代码.
(我个人喜欢_the_caml_style,但我必须GetOverThat)