2012-05-24 10 views
11

जैसा कि मैंने देखा, क्लोजर में सी/सी ++/जावा से परिवर्तनीय नाम के लिए अधिक वर्ण हैं। उदाहरण के लिए:क्लोजर में सामान्य नामकरण नियम क्या है?

कार्य '' 'के साथ समाप्त होते हैं आमतौर पर एक बूलियन लौटाते हैं, वे भविष्यवाणी कर रहे हैं।

'-' से शुरू होने वाले चर भी हैं, या '!' के साथ समाप्त हो रहे हैं।

मुझे लगता है कि ये सभी क्लोजर-शैली नामकरण हैं। तो, क्लोजर में सामान्य नामकरण नियम क्या है? क्लोजर प्रोग्रामर के लिए कुछ सामान्य है?

+0

2011 प्रश्न के संभावित डुप्लिकेट: http://stackoverflow.com/questions/6709131/what-are-clojures-naming-conventions –

उत्तर

19

यह Clojure के Library Coding Standards जो मुझे लगता है पर देख रहे हैं लायक है अभी भी शायद Clojure कोडिंग शैली पर सबसे अच्छा संदर्भ है।

  • उपयोग लोअरकेस फ़ंक्शन नाम: frobnicate
  • एकाधिक शब्द नाम विभाजक के रूप में हाइफ़न का उपयोग करें: frobnicate-with-extra-fizz
  • उपयोग नामस्थान आप फिर से उपयोग करने के लिए अच्छा अनुमति देने के लिए

    मुख्य कार्य नामकरण सम्मेलनों होने लगते हैं जरूरत है, तो नाम: sequential?

  • : my.special.collection/concat
  • उपयोग ? एक विधेय है कि सही या गलत रिटर्न इंगित करने के लिए set!

स्थानीय चर के लिए निम्नलिखित आम हैं::

  • उपयोग ! साइड इफेक्ट के साथ एक समारोह है कि लेन-देन सुरक्षित नहीं है, उदाहरण के लिए इंगित करने के लिए

    • f, g, h - कार्यों
    • n - एक आकार का प्रतिनिधित्व करने वाला पूर्णांक या
    • index, i - पूर्णांक अनुक्रमणिका
    • x, y - संख्या
    • s - स्ट्रिंग इनपुट
    • coll - एक संग्रह
    • pred - एक विधेय बंद
    • & more - variadic इनपुट लाइब्रेरी कोडिंग मानक उल्लेख से
  • +1

    मैं कभी कभी अंत में एक * के साथ नामित किया गया कुछ काम करता है, * देखा है foo की तरह। * मतलब क्या है? – DanLebrero

    +2

    यह एक अच्छा जवाब है लेकिन मेरे पास एक नाइटपिक है। मुझे लगता है कि '?' केवल उन कार्यों के लिए उपयोग किया जाना चाहिए जो वास्तव में 'सत्य' या 'झूठी' वापस आते हैं। लिंक किए गए दस्तावेज़ को देखें: "उपयोग करें"? भविष्यवाणी के लिए प्रत्यय। एनबी - रिटर्न बूलियन की भविष्यवाणी करता है "। कोर में इसका एक उदाहरण है ['कुछ'] (http://clojure.github.com/clojure/clojure.core-api.html#clojure।कोर/कुछ) और ['हर? '] (http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/every?)। – spacemanaki

    +0

    @ डीएनी: मैंने अच्छे उपाय के लिए 'foo *' (और '* foo *' के बारे में सामान में संपादित किया।) – thedayturns

    संबंधित मुद्दे