2012-09-16 11 views
5

कुशल द्वारा मेरा मतलब कम कोड (कम सीएसएस नियम) है।क्या सीएसएस प्री-प्रोसेसर अधिक कुशल सीएसएस कोड उत्पन्न करते हैं?

क्योंकि मैं कम करने के लिए एक सीएसएस फ़ाइल कनवर्ट कर रहा हूँ, और मैं पता लगाने के लिए (मैं अभी तक समाप्त नहीं हुआ है: पी) कि संकलित सीएसएस फ़ाइल काफी छोटा होता है आश्चर्यचकित हूँ

+3

मुझे लगता है कि मूल सीएसएस कितना अक्षम है इस पर निर्भर करता है। – j08691

उत्तर

2

कम (जब संकलित) और सास दोनों आपके सीएसएस को कम करें। व्हाइटस्पेस को अलग करने के अलावा, आपको कभी-कभी border: 0 10px 0 10px जैसी चीजें दिखाई देगी border: 0 10px या #666666 जैसे रंग #666 में बदल गए हैं। यह अब और अधिक कुशल नहीं है, लेकिन यह उपयोगकर्ता के लिए एक छोटा डाउनलोड करता है (जो मोबाइल उपकरणों के लिए मूल्यवान है)।

उस ने कहा, सास का एक अनोखा निर्देश है जिसे @extend कहा जाता है, जो आपको पूर्व-संकलित स्थिति में तार्किक रूप से अपनी शैलियों को समूहबद्ध करने की अनुमति देता है, लेकिन संकलित राज्य में नकल से बचने के लिए उन्हें एक साथ समूहित करेगा।

.classA { color: blue } 

// 50 lines of code defining other elements... 

.classB { @extend .classA } 

विल उत्पादन कुछ है कि इस तरह दिखता है:

.classA, .classB { color: blue } 

यह 2 वर्गों केवल में एक बात आम होने के साथ एक समझौते की कि बड़े की तरह प्रतीत नहीं होता है, लेकिन इसकी एक बड़ा सौदा अधिक जिन तत्वों का आप उपयोग कर रहे हैं और उनके पास सामान्य चीजें हैं।

अन्यथा नहीं।दक्षता पूरी तरह से लेखक पर आधारित है।

3

यह वास्तव में आप कैसे निर्भर करता है कम से कम अपने कोड की संरचना। यदि आप बहुत सारे मिश्रण (उदाहरण के लिए ग्रेडियेंट्स के लिए) या @ ऑपरेटर को घोंसला चयनकर्ताओं को बहुत उदारतापूर्वक उपयोग करते हैं तो संकलित आउटपुट काफी कमजोर हो सकता है।

सभी में से सभी तर्क दे सकते हैं कि यदि वे सही तरीके से उपयोग किए जाते हैं तो वे अधिक कुशल कोड उत्पन्न कर सकते हैं। लेकिन फिर, क्या आप सादे सीएसएस का उपयोग कर सकते हैं।

2

जैसा ऊपर बताया गया है, यह काफी हद तक निर्भर करता है कि आपका सीएसएस शुरू करने में अक्षम था या नहीं। हालांकि, लगभग कोई स्थिति अभ्यास में है जिसके लिए अधिक "कुशल" सीएसएस की आवश्यकता होती है (मैं पुनरावृत्ति के बजाय प्रदर्शन के बारे में बात कर रहा हूं) - हाँ नियमों को डुप्लिकेट करना बुरा है, लेकिन सबसे पहले और सबसे महत्वपूर्ण कोड पठनीयता और रखरखाव होना चाहिए।

आम तौर पर, मुझे लगता है कि प्री-प्रोसेसर का उपयोग करने से उत्पादकता लाभ नियम पुनरावृत्ति के साथ किसी भी मुद्दे से कहीं अधिक है, और यदि यह वास्तविक फाइलसाइज है तो आप कटौती करना चाहते हैं तो WinLESS (और अन्य कंपाइलर्स) स्रोत पर कम कर सकते हैं।

2

सामान्य उपकरण जैसे LESS या SASS सामान्य रूप से (उचित ज्ञान के साथ) लिखने के रूप में सुव्यवस्थित सीएसएस के रूप में उत्पादन करने में सक्षम नहीं होंगे, क्योंकि उपकरण को डीओएम का कोई ज्ञान नहीं है जिस पर वे काम कर रहे हैं। कोई भी अनुकूलक उतना ही अच्छा होगा जितना कि यह रनटाइम पर्यावरण का आकलन कैसे कर सकता है, और गायब डीओएम एक बहुत बड़ा चर है। यदि आप अपने दस्तावेज़ को सही तरीके से ढांचा बनाते हैं और इसका लाभ उठाने के लिए सीएसएस लिखते हैं, तो आउटपुट जेनरेट कोड से बहुत छोटा होगा।

इस उपकरण के लिए कोड पीढ़ी के किसी भी रूप या यहां तक ​​कि उच्च स्तर की भाषाओं के लिए लाभ यह है कि वे उत्पादकता में वृद्धि करते हैं। अधिक सुसंगत और संभवतः रखरखाव आउटपुट को अधिक आसानी से उत्पादित किया जा सकता है, लेकिन ऐसा करने के लिए ये उपकरण असंगत रूप से स्पष्ट और "सुरक्षित" होंगे, और इसलिए कोड उत्पन्न करते हैं कि दस्तावेज़ दस्तावेज़ से जुड़े समय तक आसानी से अनावश्यक रूप से पहचानने में सक्षम होगा। सामान्य विकास और रखरखाव लागत में सीपीयू चक्र से अधिक होते हैं, इसलिए उत्पादकता लाभ जीत जाता है। ऐसे किसी भी समय की तरह हो सकता है जब प्रदर्शन मुद्दों को संबोधित करने की आवश्यकता हो, लेकिन "समयपूर्व अनुकूलन सभी बुराइयों की जड़ है" - Knuth