clojure.core/atom 的 simbol 命名约定,如 Clojure 中的 !foo

问题描述 投票:0回答:1

我在试剂文档上找到了命名

!video

(let [!video (clojure.core/atom nil)]
...)

https://github.com/reagent-project/reagent/blob/master/doc/FAQ/UsingRefs.md

我喜欢这条以

!
为前缀来表示突变的规则,但我找不到任何信息表明这是 Clojure 社区中广泛认可的约定。您是否了解是否存在这样的约定?或者,还有其他命名约定来表示
atom
变量吗?

clojure
1个回答
0
投票

我喜欢这个前缀规则!表示突变

这并不表示“突变”,它表示引用类型。就像拥有价值的东西一样,它可能会随着时间的推移而改变。

对于你的问题,你大概可以问10个人,得到10个不同的答案。这是非常主观的。最后,这是否在任何地方都被“广泛认可”重要吗?如果它对“您或您的团队”有意义,请务必使用它。约定只有在您认为有用时才有用。只要你始终如一,做什么都没关系。恕我直言。 这个特殊的

!

前缀我个人不喜欢,因为我发现

@!video
视觉上“吵闹”。然而,我同意“标记”名称以表示它们所代表的内容绝对有用。我倾向于使用
-ref
后缀,所以用
video-ref
而不是
!video
。我从未见过其他人这样做,但我仍然喜欢它。
    

© www.soinside.com 2019 - 2024. All rights reserved.