在clojure中通常的命名规则是什么?

时间:2012-05-24 06:21:53

标签: clojure naming naming-conventions

正如我所见,clojure的变量名字符比c / c ++ / java多。例如:

函数以'?'结尾通常返回一个布尔值,它们是谓词。

还有变量以' - '开头,或以'!'结尾。

我认为这些都是clojure风格的命名。那么,clojure中通常的命名规则是什么? clojure程序员有什么共同点吗?

3 个答案:

答案 0 :(得分:20)

值得一看的是Clojure的Library Coding Standards,我认为它仍然是Clojure编码风格的最佳参考。

主要功能命名约定似乎是:

  • 使用小写的函数名称:frobnicate
  • 多个单词名称使用连字符作为分隔符:frobnicate-with-extra-fizz
  • 使用命名空间可以在需要时重复使用好名称:my.special.collection/concat
  • 使用?表示返回true或false的谓词:sequential?
  • 使用!表示具有非交易安全副作用的函数,例如:set!

对于局部变量,以下是常见的:

  • fgh - 函数
  • n - 表示大小或计数的整数
  • indexi - 整数索引
  • xy - 数字
  • s - 字符串输入
  • coll - 一个集合
  • pred - 谓词结束
  • & more - 可变输入法

答案 1 :(得分:2)

Clojure是Lisp的一种方言,因此可以应用Lisp约定:http://www.cliki.net/naming%20conventions

答案 2 :(得分:0)

除了@mikera提到的图书馆编码标准外,现在还有一个(社区驱动的)Clojure风格指南:https://github.com/bbatsov/clojure-style-guide