रिक्त स्थान हमेशा उपयोग किया जाना चाहिए, क्योंकि अकेले टैब कई शैलियों के लिए पर्याप्त रूप से लचीला नहीं होते हैं, और टैब और रिक्त स्थान (लगभग) को इंटरमिक्स करने से हमेशा एक पूर्ण गड़बड़ पैदा होती है।
एक शैली के उदाहरण के लिए जिसे आमतौर पर रिक्त स्थान की आवश्यकता होती है, कुछ इस तरह से विचार करें:
call_some_function(parameter1,
parameter2,
parameter3,
parameter4,
parameter5,
parameter6,
parameter7);
जब तक आप टैब आकार (कोष्ठक के लिए एक शून्य) टैब के एक से अधिक होने के लिए अपने सभी कार्यों को फिर से नाम देने के लिए तैयार नहीं होते हैं, तब तक यह केवल ऐसा नहीं करेगा।
टैब और स्पेस को मिलाने के रूप में, आप लगभग तुरंत एक गंभीर समस्या में भाग जाते हैं: टैब लगातार उसी तरह विस्तारित नहीं होते हैं। कुछ सॉफ़्टवेयर विशिष्ट स्थानों की संख्या के बराबर टैब को मानते हैं। अन्य सॉफ़्टवेयर टैब मॉडुलो को स्पेस की एक विशिष्ट संख्या का विस्तार करेगा - उदाहरण के लिए, टैब के बाद एक आइटम हमेशा एक कॉलम संख्या पर शुरू होगा जो कि एक (8) से अधिक है।
यहां तक कि अगर आप अपने टैब के साथ मिल रहे रिक्त स्थान के खिलाफ सुनिश्चित कर सकते हैं, तब भी आपको एक समस्या है: टैब भी चर-चौड़ाई के फोंट के साथ खराब खेलते हैं। यह समस्या तब उत्पन्न होती है जब (उदाहरण के लिए) आप संरेखित अनुरेखण टिप्पणी चाहते हैं:
a.m = 9; // this is the slope
a.i = 4; // this is the intensity
a.x = 1; // this is the x-intercept
जैसा कि वे अभी खड़े हैं, वे सभी पूरी तरह से लाइन में हैं। एक चर चौड़ाई फ़ॉन्ट के साथ देखा, हालांकि, चीजें बदसूरत हो जाती हैं। रिक्त स्थान के साथ, टिप्पणियां (अक्सर) थोड़ा गलत संरेखित हो सकती हैं। टैब के साथ, हालांकि, मिसलिग्न्मेंट अक्सर काफी कट्टरपंथी हो जाता है:
a.m = 9; // this is the slope
a.i = 4; // this is the intensity
a.x = 1; // this is the x-intercept
हमारे चर-चौड़ाई फ़ॉन्ट में 'i' और 'm' या 'x' के बीच की चौड़ाई में अचानक छोटे अंतर को पूरे टैब स्टॉप तक बढ़ा दिया गया है।
लब्बोलुआब यह है कि आप टैब के साथ कोड को देखने के तरीके में लगभग कोई भी बदलाव, कोई फर्क नहीं पड़ता कि कैसे तुच्छ प्रतीत होता है, आमतौर पर एक अपठनीय गड़बड़ पैदा करेगा।
आपके अन्य सवालों के जवाब देने के लिए: अन्य ने पहले ही इसे इंगित कर दिया है, लेकिन मैं किसी प्रोग्रामिंग एडिटर (या किसी और चीज़ में) की कल्पना नहीं कर सकता, वास्तव में स्पेस बार डालने के लिए स्पेस बार का उपयोग कर रहा हूं, इसलिए आपके प्रश्न के बारे में: "टाइपिंग spacespacespacespace" है अप्रासंगिक क्योंकि कोई भी ऐसा नहीं करता है। इसी तरह बैक-स्पेसिंग के साथ: एक संपादक की कल्पना करना कठिन है BkSpc, जिसे पिछले टैब स्टॉप पर जाने के लिए चार बार दबाने की आवश्यकता होती है , इसलिए (फिर से) सवाल अप्रासंगिक है।
नीचे पंक्ति: टैब ठीक हैं यदि आप (और केवल आप) कभी आपके कोड को देखेंगे, और आप कभी भी एक एकल संपादक के साथ ऐसा करते हैं कि आप कभी भी पुन: कॉन्फ़िगर नहीं करते हैं (बिल्कुल भी!), हालांकि, ऐसी स्थितियां असंभव के करीब हैं। लागू करें कि केवल एक ही उचित उत्तर है: कभी भी टैब का उपयोग न करें।
tab
। यदि आप अपने पसंदीदा संपादक में इसे कॉन्फ़िगर नहीं कर सकते हैं, तो आपको एक बेहतर संपादक की आवश्यकता है।