2011-06-05 15 views
27

में CoffeeScript का उपयोग मैं वास्तव में CoffeeScript (1.1.1) छोटी परियोजनाओं के लिए उपयोग करते हुए और जैसे कि यह महान अब तक काम किया। हालांकि इसे अधिक व्यापक वातावरण में उपयोग करने से पहले मैं उत्पादन में इसका उपयोग करने पर दूसरी राय सुनना चाहता हूं।उत्पादन परिवेश

तो मेरी प्रश्न हैं:

  • कैसे स्थिर ही भाषा है?
  • क्या मुझे आगामी परिवर्तनों के लिए देखने की ज़रूरत है जो मेरा कोड तोड़ देगा?
  • यदि उत्तर उपरोक्त प्रश्न के लिए हाँ है: पुराने संस्करणों का कितना अच्छा समर्थन है?
  • क्या कोई स्थिर (केवल बग-फिक्स) और एक अलग विकास शाखा है?
  • आप पहले से ही अपने उत्पाद/वेबसाइट में CoffeeScript का उपयोग किया था, तो/आदि कृपया गुंजाइश है जिसमें यह इस्तेमाल किया गया था और अपने समग्र अनुभव का वर्णन।

धन्यवाद!

नोट: मैंने पहले ही सुना है कि "कॉफीस्क्रिप्ट समर्थन रेल संस्करण 3.1 पर रूबी में शामिल किया जाएगा।" (विकिपीडिया) जो रेल समुदाय से अतिरिक्त समर्थन के कारण महान है।

+0

संबंधित: http: // stackoverflow।कॉम/प्रश्न/2 9 54557/है-किसी-प्रयुक्त-कॉफ़ीस्क्रिप्ट-फॉर-ए-प्रोडक्शन-एप्लिकेशन –

उत्तर

18

भाषा पिछले छह महीनों के लिए स्थिर हो गया है (1.1.1 मूल रूप से सिर्फ 1.0 bugfixes साथ है)। भविष्य की स्थिरता की कोई गारंटी नहीं है, लेकिन मुझे उम्मीद है कि my book जल्द ही अप्रचलित हो जाएंगे।

मैं संस्करण मुद्दों से बचने के लिए सर्वोत्तम प्रथाओं कहेंगे हैं

  1. सुनिश्चित करें कि आप CoffeeScript का संस्करण अपनी परियोजना के लिए लिखा गया था दस्तावेज़, और
  2. संकलित जे एस के उस संस्करण के तहत और रख जे एस कहीं संग्रहीत
  3. अच्छा परीक्षण कवरेज (शमूएल एडम्स के शब्दों में: हमेशा एक अच्छा निर्णय)

इस तरह, जब कॉफीस्क्रिप्ट का एक नया संस्करण जारी किया जाता है, तो आपके कॉफीस्क्रिप्ट कोड को तोड़ने के मामले में आपके पास जेएस बैकअप का उपयोग किया जाता है। तोड़कर परिवर्तन एक दर्द है, लेकिन वे को छोड़कर लगभग सभी भाषाओं करने के लिए एक दर्द आम कर रहे हैं जावास्क्रिप्ट सिर्फ एक Rubyist जो हाल ही में 1.8 से 1.9 के लिए संक्रमण बना है, या एक Pythonista जो अभी भी अजगर 3 करने के लिए अपने अजगर 2 कोड पलायन है पूछो।

सलाह मैं CoffeeScript संस्करण परिवर्तन के तहत तोड़ने से अपने कोड को रोकने के लिए दे सकते हैं वाक्यात्मक बढ़त मामलों से बचना है। उदाहरण के लिए, func a:b, c का अर्थ func {a:b, c:c} था, और अब इसका मतलब func {a:b}, c है। यह एक सुधार है (पुराने व्यवहार को एक बग माना जाता था), लेकिन कुछ लोगों को इसके द्वारा ऑफ-गार्ड पकड़ा गया था। इसलिए अस्पष्टता का संकेत होने पर स्पष्ट विराम चिह्न का उपयोग करें; यह वैसे भी अधिक पठनीय कोड बनाता है।

जेरेमी को stable/master भेद पर टिप्पणी करना होगा, क्योंकि दोनों शाखाएं मौजूद हैं लेकिन stable अप्रैल (पूर्व 1.1.0) से अपडेट नहीं की गई है।

2
+0

मैंने पहले से ही यह प्रश्न देखा है: यह इस बात पर अधिक ध्यान केंद्रित कर रहा है कि कॉफीस्क्रिप्ट कितनी शानदार है (शक्तियां और कमजोरियां) और उत्पादन के लिए कितनी स्थिर और फिट नहीं है यह वास्तव में है। – akosch

+1

-1 यह वास्तव में एक टिप्पणी होना चाहिए। – Jonas

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