2011-03-25 19 views
24

कई वेबसाइटें, उदाहरण के लिए एचटीएमएल 5 बॉयलरप्लेट दो रिक्त स्थान का उपयोग करती है। एएसपी.नेट एमवीसी 3 जैसी विजुअल स्टूडियो डिफ़ॉल्ट परियोजनाएं एक टैब का उपयोग करती हैं। क्या एचटीएमएल इंडेंट करने का मानक तरीका बन जाएगा?एचटीएमएल इंडेंटिंग मानक, टैब या दो रिक्त स्थान?

+0

संभावित डुप्लिकेट http://stackoverflow.com/questions/2678817/2- स्पेस-or-1-tab-whats-the- standard-for-indentation-in-the-rails-community –

+5

अन्य प्रश्न डुप्लिकेट नहीं रेल के लिए विशिष्ट है। – Myster

+0

मैं असहमत हूं कि यह एक राय-आधारित प्रश्न है क्योंकि वह प्रतीत होता है कि क्या एक सही मानक है (जो नहीं है), जो कि बेहतर नहीं है। –

उत्तर

10

मुझे नहीं लगता कि एक डब्ल्यू 3 सी निर्दिष्ट मानक है। चूंकि एचटीएमएल किसी भी तरह से व्हाइटस्पेस को बाहर निकाल देता है, इसलिए आपको जो कुछ भी सबसे ज्यादा आरामदायक लगेगा उसके साथ जाना चाहिए।

5

मुझे लगता है कि जिस दिन HTML को इंडेंट करना एक मानक अभ्यास बन जाता है, वास्तविक मानक क्या है, इस पर ध्यान दिए बिना, बहुत खुशी होगी।

मैं टैब का सुझाव दूंगा, मुख्य रूप से क्योंकि मैं उनका उपयोग करता हूं और उनके साथ सबसे सहज हूं। लेकिन आप प्रत्येक पृष्ठ के लिए कुछ बाइट डाउनलोड करने से भी बचाते हैं, और लाखों पेज अनुरोधों के साथ, वे जोड़ते हैं।

35

टैब का उपयोग न करें; दो रिक्त स्थान का उपयोग करें। टैब समस्याग्रस्त हैं क्योंकि वे विभिन्न संपादकों (और टर्मिनल, उस मामले के लिए) में एक अलग चौड़ाई हो सकते हैं। चूंकि आप तैनाती से पहले अपने एचटीएमएल को साफ करते समय व्हाइटस्पेस हटा दिया जाता है, टैब का उपयोग करने के लिए कोई अंतिम बैंडविड्थ लाभ नहीं होता है; वे बस आपके विकास अनुभव में वाइल्डकार्ड पेश करते हैं।

दो रिक्त स्थान मानक के रूप में उभर रहे हैं क्योंकि एचटीएमएल को ज्यादातर लोगों की आंखों के लिए स्पष्ट रूप से इंडेंट करने के लिए "पर्याप्त" इंडेंटेशन है, लेकिन क्योंकि HTML बहुत गहराई से घोंसला लेता है - प्रोग्रामिंग के दौरान आमतौर पर घोंसला से अधिक गहराई से होता है - और दो से अधिक रिक्त स्थान 80 से अधिक कॉलम स्क्रीन के दाएं किनारे से एचटीएमएल को धक्का देना शुरू कर देते हैं।

+34

मैं इस बात से असहमत हूं कि विभिन्न संपादकों में अलग-अलग टैब एक समस्या है, यह एक लाभ है, जब तक आप केवल लाइनों की शुरुआत में उनका उपयोग करते हैं। (नीचे मेरे उत्तर के अनुसार) – Myster

+2

मैं सहमत हूं। 4 रिक्त स्थान HTML के लिए उपयुक्त नहीं हैं क्योंकि नेस्टेड संरचना आमतौर पर बहुत गहरी होती है। –

38

कोई मानक नहीं है लेकिन ...
उपयोग टैब्स, यह क्या वे के लिए कर रहे हैं है।
लाभ: कम बाइट्स, उपयोगकर्ता अपनी पसंदीदा प्रदर्शन चौड़ाई निर्धारित कर सकते हैं।

चेतावनी: स्तंभों को संरेखित करने के लिए लाइनों के भीतर उपयोग किए जाने वाले टैब संभावित रूप से मिस-गठबंधन होंगे यदि निर्माता की टैब चौड़ाई दर्शक से अलग होती है, इसलिए मैं स्तंभों को संरेखित करने के लिए रिक्त स्थान का उपयोग करता हूं।

संपादित करें मैं बूढ़ा हो रहा हूं, और मुझे अब इतना परवाह नहीं है। हालांकि मैं अभी भी ऊपर सूचीबद्ध उनके फायदों में बेहतर टैब मानता हूं। आपको यह भी विचार करना चाहिए: सबसे सरल (रिक्त स्थान), या व्यापक गोद लेने (आपके समुदाय में, संभवतः केवल आपके कार्यस्थल से अधिक व्यापक), आपके लिए क्या काम करता है।

11

टैब्स मार्कअप-भाषाओं के लिए नहीं हैं! (यहां तक ​​कि अगर मिस्टर और एमएस ऐसा सोचते हैं!) एक कारण है कि बॉयलरप्लेट रिक्त स्थान का उपयोग क्यों करता है, और वे बिल्कुल दो क्यों हैं। एमएस वास्तव में उचित इंटरचेंज प्रारूपों का उपयोग करने के लिए प्रसिद्ध नहीं है, इसलिए मैं एएसपी.नेट एमवीसी 3 के बारे में टिप्पणी देने से बचना चाहूंगा।

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

तो मैं पूरी तरह से श्री रोड्स के तर्क से सहमत हूं! और यही कारण है कि कोई भी उचित संपादक टैब टू स्पेस रूपांतरण के लिए एक विकल्प प्रदान करता है।

"भंडारण-आकार सहेजा गया" तर्क फर्जी है, क्योंकि एचटीएमएल इंटरचेंज में संपीड़न लगभग अनिवार्य है। Oversimplified एक स्पेस आपके दस्तावेज़ में सबसे अधिक इस्तेमाल किया जाने वाला टोकन हो सकता है और कुछ बिट्स (2-4) तक प्रभावी रूप से संपीड़ित हो जाता है!इसलिए टैब और रिक्त स्थान पर विभाजित रिक्त स्थान संपीड़न को नुकसान पहुंचा सकते हैं।

और केवल रिक्त स्थान एकाधिक अनुप्रयोगों पर संगत हैं। टैब व्याख्या 2-8 रिक्त स्थान के रूप में काफी भिन्न हो सकती है।

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

ps: मैंने अभी इस एचटीएमएल (पिछले पैराग्राफ तक) के लिए रिक्त स्थान की घटना की जांच की है और 15177 मिल गया है। अगला लगातार चार 4468 के साथ 'टी' था। टैब की घटना का सम्मान 1101 था। Gzip और lzo का उपयोग करके, टैब-संस्करण वास्तव में केवल एक रिक्त स्थान था, फिर केवल एक रिक्त स्थान था।

इसलिए मैं "भंडारण स्थान" तर्क को पूरी तरह से विचलित नहीं कर सकता - जितना मैं चाहूंगा।

2

ऐसा लगता है कि कोई पूर्ण उत्तर नहीं है।
टैब वास्तविक प्रोग्राम कोडिंग में एक मानक रहा है - और हां "80-वर्ण टर्मिनल स्क्रीन के दिनों" से आता है, लेकिन इससे यह अप्रचलित नहीं होता है।

जैसा कि ऊपर बताया गया है, "टैब का उपयोग करें, यह वही है जो वे हैं।"

तर्क यह है कि कुछ संपादकों उन्हें प्रदर्शित अलग ढंग से प्रवेश संपादकों में कोई मानक है कि वहाँ है और वह में एक विशेष मानक के लिए मजबूर करने के लिए समानता नहीं करना चाहिए को चिह्नित - जब तक कि वहाँ इतनी के रूप में अगर इस तरह करने के लिए एक और वैध कारण है टैब ने एक विनाशकारी मार्कअप के परिणामस्वरूप पहुंचाया। यदि आपका संपादक आपको कुछ निर्णय लेने के लिए मजबूर करता है तो संपादक का उपयोग करने का प्रयास करें जो आपको ऐसा करने के लिए उचित होने पर लगातार चीजों को करने देता है।

दिन के अंत में, एक वास्तविक मानक उभरने तक, क्या काम करता है और आम तौर पर स्वीकार किया जाता है। ऐसा लगता है कि टैब या दो रिक्त स्थान दोनों इस समय आम तौर पर स्वीकार किए जाते हैं, लेकिन टैब से दूर झुकते हैं क्योंकि कुछ संपादक इसे प्रदर्शित नहीं करेंगे, यह लगातार संपादक में एक दोष या निरीक्षण है।

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

सी प्रोग्रामिंग का जिक्र करते हुए, एक मान्यता प्राप्त (लेकिन पूर्ण नहीं) प्राधिकरण, लिनस टोरवाल्ड्स ने कहा है: "टैब 8 वर्ण हैं, और इस प्रकार इंडेंटेशन भी 8 वर्ण हैं। ऐसे आंदोलन हैं जो इंडेंटेशन बनाने की कोशिश करते हैं 4 (या यहां तक ​​कि 2!) अक्षर गहरे हैं, और यह को पीआई के मान को परिभाषित करने की कोशिश करने के समान है। "

हां, यह सी का जिक्र है और वेब मार्कअप नहीं है, और हां यह अवधारणा को स्वाद के साथ व्यक्त करता है, लेकिन वास्तविक बिंदु बनाया गया है। मुझे पूरा भरोसा है कि किसी को भी अन्य अवधारणाओं के कम रंगीन अभिव्यक्तियां मिल सकती हैं, लेकिन मेरे पास यह उदाहरण हाथ में हुआ।

27

जैसा कि किसी ने इसका उल्लेख नहीं किया है, Google HTML/CSS Style Guide और W3School HTML(5) Style Guide 2 रिक्त स्थान की अनुशंसा करते हैं।

यह article परिणामी फ़ाइल आकार में टैब बनाम रिक्त स्थान के प्रभाव का विश्लेषण भी लाता है।

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