व्हाट्सएप को पीछे छोड़ना एक बड़ी बात क्यों है? [बन्द है]


116

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

यह पहले से ही इसे से बचने के लिए एक बहुत अच्छा कारण की तरह लगता है, लेकिन मैं यह देखना चाहता हूं कि क्या इससे अधिक है। तो, व्हॉट्सएप इतनी बड़ी डील क्यों कर रहा है?


30
अनुगामी व्हॉट्सएप वास्तव में शोर है। किसी अन्य कारण के बारे में नहीं सोच सकते।
यानिस

17
एक अच्छा अंतर उपकरण ट्रेलिंग को अनदेखा करने में सक्षम होना चाहिए (और यदि आप चाहें तो अग्रणी भी)। सब के बाद, Emacs यह कर सकते हैं, अपने अलग उपकरण क्यों नहीं?
FrustratedWithFormsDesigner

4
'एंड' बटन के साथ स्ट्रिंग के अंत में नेविगेट करने पर बहुत सारे अनुगामी व्हाट्सएप के साथ गड़बड़ हो सकती है।
Iarek Kovtunenko

11
मुझे लगता है कि आप सवाल को गलत तरीके से पूछ रहे हैं। चारों ओर का दूसरा तरीका है: «सफेद स्थान को पीछे हटाने के क्या फायदे हैं? »। सही सवाल पूछने पर जवाब बहुत स्पष्ट हो जाता है;)
डेडलिंक

7
हो सकता है कि आपको व्हॉट्सएप में प्रोग्रामिंग की कोशिश करनी चाहिए । * 8 ')
मार्क बूथ

जवाबों:


76

कारण कि यह मेरे लिए महत्वपूर्ण है:

  • जब मैं "एंड" कुंजी को मारता हूं, तो मैं उम्मीद करता हूं कि कर्सर लाइन के अंत तक जा सकता है (मैं किस संपादक का उपयोग कर रहा हूं और यह कैसे कॉन्फ़िगर किया गया है) के आधार पर और मैं तुरंत टाइप करना शुरू करने में सक्षम होने की उम्मीद करता हूं। यदि कर्सर वहां पहुंच जाता है और मुझे 3 या 4 अक्षर हटाना है, तो यह कष्टप्रद है। खासतौर पर तब जब यह पूरी फ़ाइल में असंगत हो।

  • जब मेरे पास कई पंक्तियों में स्ट्रिंग स्ट्रिंग शाब्दिक होते हैं, तो व्हाट्सएप को पीछे छोड़ते हुए इसका उपयोग करते समय आउटपुट स्ट्रिंग को गलत दिख सकता है।

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


8
बिंदु 1 आपके संपादक के साथ एक समस्या है, न कि अनुगामी श्वेत स्थान के साथ।
मार्जन वेनमा

32
@MarjanVenema: हाँ, एक संपादक को अंतिम NON- व्हाट्सएप पर जाने के लिए डिज़ाइन किया जा सकता है, लेकिन तब आपको अनुगामी व्हाट्सएप के बारे में कभी पता नहीं चलेगा (जब तक कि इसे किसी और तरह से संकेत नहीं दिया गया था - यह भी मुझे अजीब लगेगा) END doesn 'टी-एंड-ऑफ-लाइन पर जाना है, जो कि मुझे इस्तेमाल किया जाता है)। जो मल्टी-लाइन स्ट्रिंग शाब्दिक के साथ एक समस्या होगी। तो फिर संपादक को यह जानना होगा कि मल्टी-लाइन स्ट्रिंग शाब्दिक में, अंत में व्हाट्सएप सहित अंतिम चरित्र पर जाना चाहिए। मैं जिस संपादक का उपयोग कर रहा हूं, वह उतना चतुर नहीं है।
FrustratedWithFormsDesigner

2
मैं अतिरिक्त रिक्त स्थान का चयन किए बिना माउस के साथ चयन को जोड़ना मुश्किल है और अगर यह एक कट पेस्ट के लिए है बात कर सकता है। या कि यह शोर उत्पन्न करता है जब कुछ भी नहीं करने के लिए प्रतिबद्ध (अंततः संघर्ष!)। कोई बहुत बड़ी बात नहीं है, लेकिन बहुत कम विकल्प हैं। यह एहसास दिलाता है कि पिछले देव आलसी थे और आपसे अपेक्षा करते थे कि आप उनके झमेले में चले जाएँगे।
डेडलिंक

1
@deadalnix: बेशक, यही कारण है कि आपको ज्यादातर लोगों की वरीयताओं के अनुरूप विकल्पों के साथ एक अच्छे संपादक की आवश्यकता है। और इसलिए बिंदु 1 संपादक के साथ एक समस्या है, न कि पीछे की सफेद जगह।
मार्जन वेनमा

1
बिंदु 1 ठीक यही कारण है कि मैं व्हाट्सएप को पीछे करने की एक विशेष शैली को पसंद करता हूं: रिक्त रेखाएं उस कोड के साथ इंडेंट की जाती हैं जो वे अलग करते हैं। यह नए कोड को इंडेंट किए बिना तुरंत सम्मिलित करने की अनुमति देता है।
Xiong Chiamiov

29

मैं वास्तव में अनुगामी व्हाट्सएप से नफरत करता हूं, लेकिन सटीक कारण थोड़ा अस्पष्ट है।

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

अन्य कारण (प्रोग्रामिंग में), अच्छे कारण नहीं, मुझे पता है, लेकिन वे मेरे अवचेतन मानस को इतने उग्र तरीके से परेशान करते हैं कि वे मुझे इसे खत्म करने के लिए मजबूर करते हैं:

  • यह आवश्यकता से अधिक संग्रहण स्थान लेता है
  • संकलन करते समय बिना किसी अच्छे कारण के पार्सर को एक अतिरिक्त चरित्र को छोड़ना होगा
  • WordWrap चालू होने पर कुछ संपादक अतिरिक्त रिक्त पंक्ति जोड़ सकते हैं और अनुगामी स्थान फ़िट नहीं होता है

हां हां मुझे पता है! मुझे पता है, ये जंक कारण हैं। मैं एक पूर्णतावादी नहीं हूँ, लेकिन ... शायद मैं हूँ?

आखिरी कारण जो मैं सोच सकता हूं वह असंगत कर्सर आंदोलन है। ऐसा लगता है कि कर्सर एक पंक्ति के अंत में पतली हवा में लटका हुआ है, दाईं ओर हर कदम के कारण यह या तो गिर सकता है या किसी अज्ञात सीमा तक आगे जा सकता है, यह सिर्फ अस्थिर महसूस होता है (जैसे कि अदृश्य या गायब होने वाले ब्लॉक सुपर मारियो पर कूदते थे)।

संभवत: मुझे ट्राईलस्पेसफोबिया का पता लगाया जा सकता है


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

Adobe InDesign (क्या यह उपभोक्ता-स्तर WYSIWYG कबाड़ के अंतर्गत आता है?)। यह अनुगामी स्थानों को अनदेखा करेगा, हां, लेकिन सभी पैराग्राफ को एक पैराग्राफ में रिक्त स्थान के साथ बदल देगा और आप दोहरे स्थान (जिसे नजरअंदाज नहीं किया जाता है) के साथ समाप्त हो जाएगा, फिर उन को खत्म करने के लिए एक अतिरिक्त प्रतिस्थापन की आवश्यकता है।
लुईस सोमरस

"डेस्कटॉप प्रकाशन" कुछ ऐसा नहीं है जो आप "टाइपसेटिंग सिस्टम" के साथ करते हैं।
राकसलिस

22

इनमें से बहुत से उत्तर लगभग मेरे लिए खराब होने के कारण को छूते हैं, लेकिन मूल रूप से: यह "संपादकों" को तोड़ता है। मेरा अनुभव विम के साथ है।

Vim को डिज़ाइन किया गया है ताकि आम क्रियाएं अक्षरों को इतनी सफाई से मैप करें कि आपको यह भी सोचने की ज़रूरत नहीं है कि हिट करने के लिए किस अक्षर या कुंजी संयोजन के बारे में सोचा जाए। विभिन्न हॉटकीज़ कर्सर को पाठ के चारों ओर इतनी तेज़ी से कूदने की अनुमति देते हैं कि इसे केवल एक जोड़ी कीस्ट्रोक्स लेता है जहां भी आप इसे चाहते हैं। यहां तक ​​कि कोड के फोल्डिंग ब्लॉक जैसी चीजें भी तेज हैं, क्योंकि आप लाइन के अंत में कूदने के लिए END या $ हिट कर सकते हैं, जहां कर्सर को {या} या (या) या कुछ को ओवरलैप करना चाहिए - आपके विचार प्रवाह को तोड़ने की कोई आवश्यकता नहीं है स्क्रीन पर एक विचार मिलता है।

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

कभी ध्यान दें कि जब वे वास्तव में किसी कार्य पर ध्यान केंद्रित करते हैं और कोई उन्हें बाधित करता है, तो उन्हें कितना गुस्सा आता है? हाँ, अनुगामी व्हॉट्सएप खोजना जब कम से कम अपेक्षित हो तो बिल्कुल वैसा ही हो।

एक विचार के रूप में, मैंने यह भी देखा है कि वे लोग जो व्हाट्सएप को ट्रेस करने से गुरेज नहीं करते हैं, वे हैं जो नेविगेशन के लिए माउस का उपयोग करते हैं, और इसके कारण धीमी टाइपिस्ट होते हैं ...


2
एक सिडेनोट के रूप में, टाइपिंग की गति को इससे कोई लेना-देना नहीं है कि आप नेविगेशन के लिए अपने माउस का उपयोग करते हैं या नहीं। कुछ नेविगेशन माउस के लिए पूरी तरह से उपयुक्त है। ; पी
स्टीवन ज्यूरिस

2
यदि आप विम का उपयोग करते हैं, तो आप सभी ट्रेलिंग व्हाट्सएप को जल्दी से हटा सकते हैं:%s/ *$//
जियोर्जियो

1
@Giorgio मुझे पता है, लेकिन मैं इसे कभी भी नहीं कर सकता क्योंकि यह संस्करण नियंत्रण में बदलाव के रूप में गिना जाता है
इज़्काटा

@izkata: सच है। मैं उन फ़ाइलों को सुधारने के लिए सुधार करता हूं जिन्हें मुझे उनकी जांच करने से पहले बदलना पड़ता है, लेकिन यह एक खोई हुई लड़ाई है अगर अन्य डेवलपर्स व्हाट्सएप के पीछे की फाइलों की जांच करते रहते हैं।
जियोर्जियो

17

हैरानी की बात है, सबसे स्पष्ट जवाब गायब है: व्हाट्सएप को पीछे छोड़ना और बग ढूंढना मुश्किल हो जाएगा।

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

print("Hello\·
····World")

पैदा करता है:

  File "demo.py", line 1
    print("Hello\
                 ^
SyntaxError: EOL while scanning string literal

अगर संपादक को व्हाट्सएप वर्ण प्रदर्शित करने के लिए कॉन्फ़िगर नहीं किया गया है, तो इसे किसी तरह से गुप्त और मुश्किल है।

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

यहां छवि विवरण दर्ज करें

चित्रण: वाक्यविन्यास हाइलाइट उन स्थितियों में व्हाट्सएप से बचने में मदद कर सकता है जहां यह बग पैदा कर सकता है, लेकिन इस पर भरोसा न करें।

एक अन्य संदर्भ, संक्षेप में पिछले उत्तर में बताया गया है , फाइलों में संग्रहीत डेटा है।

उदाहरण के लिए, CSV फाइलें जिसमें अनुगामी व्हॉट्सएप हो सकती है, डेटा असंगति का कारण बन सकती है, जिसका पता लगाना भी बहुत मुश्किल है: मानक-अनुरूप पार्सर्स व्हाट्सएप को ट्रिम कर देंगे (मानक इंगित करता है कि व्हाट्सएप अग्रणी या अनुगामी अप्रासंगिक है, जब तक कि दोहरे उद्धरणों के साथ सीमांकित नहीं किया जाता), लेकिन कुछ पार्स गलत व्यवहार कर सकते हैं और व्हॉट्सएप को एक मूल्य के हिस्से के रूप में रख सकते हैं।

अन्य कस्टम प्रारूप विशेष रूप से विचार कर सकते हैं कि व्हाट्सएप मूल्य का एक हिस्सा है, जो लगातार लेकिन फिर भी कठिन परिस्थितियों को दूर करने के लिए अग्रणी है।


14

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


13
मुझे लगता है कि यह है एक बग; कोड प्रसंस्करण मानव जनित इनपुट को व्हाट्सएप को पीछे छोड़ना चाहिए, और अक्सर अग्रणी व्हाट्सएप को भी छोड़ देना चाहिए।
केविन क्लाइन

@kevincline - यह कम से कम होना चाहिए। अगर यह स्क्रीन पर या प्रिंटआउट पर दिखाई नहीं दे रहा है, तो मैं इसके बारे में नहीं सोचना चाहता।
रूक

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

2
@Steven Trailing व्हाट्सएप ने एक बग का कारण बना जो नीचे ट्रैक करना मुश्किल था। मुझे एक अच्छा जवाब लगता है। आप सोच सकते हैं कि कुछ डेटा पार्सिंग कोड उस स्थिति में कैसे टूट सकता है।
विल शेपर्ड

मैंने डेटा के अंत में व्हाट्सएप को हटा दिया और अब एक परीक्षण विफल हो गया। आप इसके लिए जिम्मेदार हैं। तुम्हारा नाम क्या है? मुझे बिल कहां भेजना चाहिए?
थॉमस वेलर

8

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

if (fp)........
{....
    fclose(fp);.
}
else
{.....
    prinft("File is NULL\n");
}..

यह उदाहरण कृत्रिम है, लेकिन मैंने बहुत से कोड देखे हैं जो इस तरह दिखते हैं।


7

स्पष्ट समस्या के अलावा कि यह कुछ मामलों में पार्सिंग को तोड़ती है? जैसा कि एक अन्य पोस्टर ने नोट किया है कि यह त्रुटियों का पता लगाने के लिए सूक्ष्म और कठिन हो सकता है। व्हॉट्सएप हमेशा महत्वहीन नहीं होता है। कुछ मामलों में, व्हाट्सएप को पीछे छोड़ने से कोड या डेटा की लाइन का अर्थ बदल सकता है।

ज्यादातर मामलों में व्हाट्सएप मानव पाठकों के लिए कोड को प्रारूपित करने के लिए है। अनुगामी व्हाट्सएप सहित कई चीजों का संकेत हो सकता है:

  • एक अधूरा बयान;
  • एक लापता टिप्पणी;
  • एक गलत संपादित; या
  • मैला संपादन।

इनमें से दो का परिणाम गलत फंडिंग हो सकता है, और दूसरा इससे कोड को समझना मुश्किल हो सकता है।


4

प्रोग्रामिंग भाषाएं हैं जो एंड-लाइन व्हाट्सएप के प्रति संवेदनशील हैं। उदाहरण के लिए, एक टीसीएल स्क्रिप्ट एक त्रुटि देगा यदि एक पंक्ति के अंत में एक व्हाट्सएप हो।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.