任何人都可以解释或指出我在哪里可以找到clojure的命名约定:
答案 0 :(得分:47)
您可能希望查看开发者Wiki上的Clojure library coding standards - 这可能是我见过的最全面的列表。
针对您的具体要点:
答案 1 :(得分:9)
您可能需要查看this non official style guide。
答案 2 :(得分:8)
有一些有趣的guidelines on naming written by Stuart Sierra表明:
navbar
而不是age
)calculate-age
用于构造,create-
用于检索),保留对可变引用的爆炸get-
更改。swap!
而不是send-message
)message
而不是connection
),除非输入类型必须是显式的(->connection
)input-type->output-type
而不是products/price
)并防止let绑定中的本地冲突products/product-price
后缀答案 3 :(得分:1)
注释中记录了一组有趣的命名约定 陶恩索在他的 Encore library
他使用!
为副作用建议名称,?
为布尔值,
对于代价高昂的操作$
,_
为可撤销,
*
用于宏;加上其他一些组合。
答案 4 :(得分:0)
即使您没有明确要求,我也会解释我在协议命名约定中看到的内容。
通常,名称以大写“I”开头,然后其余为驼峰大小写,其中每个单词的首字母大写,其余为小写。例如,我想为火箭船定义一个协议,我使用的名称是IRocketShip
我也看过'A'而不是'I',可能代表'abstract'这个词。