क्या यह पता लगाने और कार्यक्षमता को कम करने के लिए पहचानकर्ताओं में "ies" के बजाय "ys" का उपयोग करने के लिए समझ में आता है? [बन्द है]


9

हालांकि व्याकरणिक रूप से गलत है, जब फ़ंक्शन, चर आदि के लिए पहचानकर्ता लिखते हैं, तो इसका मतलब यह है कि वाई में समाप्त होने वाले शब्दों के केवल "एस" को जोड़ना है? इसका कारण यह होगा कि यदि आपको "वेंडर" की जगह "कंपनी" को खोजने और बदलने की आवश्यकता है, तो "कंपनी" एकवचन और बहुवचन दोनों रूपों (" कंपनी और" कंपनी एस ") से मेल खाएगी , जबकि यदि बहुवचन सही ढंग से लिखा गया था, तो आपको दो अलग-अलग खोजें करनी होंगी।


8
चिल्ड, माउज़, नाइफ, वुल्फ, मैन, वूमन, वाइफ और टूथ के बारे में क्या? खूंखार "दो अलग-अलग खोजों" से बचने के लिए सब कुछ मान्य है ।
ट्यूलेंस कोर्डोवा

3
मैं खुद भेड़ियों के ऊपर भेडिय़ों का आशिक हूं ...
जिमी

2
क्या आप वास्तव में अपने वर्कफ़्लो में अक्सर पहचानकर्ताओं का नाम बदलने की योजना बनाते हैं? ऐसा लगता है कि कोड का उपयोग करने के लिए कोड में गलत नामों के सभी संज्ञानात्मक निराकरण को लेने के लिए थोड़ा ओवरकिल हो सकता है जो कभी भी उपयोग नहीं किया जा सकता है।
केंट ए।

10
मेरा विश्वास करो, आप "पूर्ण-शब्द-केवल" बाधा के बिना "कंपनी" जैसे शब्द के लिए एक बड़े कोडबेस पर एक खोज-और-जगह ऑपरेशन लागू नहीं करना चाहते हैं। इस प्रकार आपको दो अलग-अलग खोजों का उपयोग करना होगा।
डॉक्टर ब्राउन

2
दो। अलग। खोज करता है।
ट्यूलेंस कोर्डोवा

जवाबों:


24

ऐसी किसी भी खोज और प्रतिस्थापन को देखभाल के साथ किया जाना चाहिए और आपकी कंपनी / विक्रेता परिवर्तन के साथ "acvendor" बनने वाली टिप्पणी में "साथ" से बचने के लिए मैन्युअल रूप से चेक किए गए प्रत्येक परिवर्तन को चेक करना चाहिए। जैसे, "कंपनी" और "कंपनियों" के लिए दो अलग-अलग खोजों को प्रत्येक परिवर्तन का निरीक्षण और अनुमोदन के समय की तुलना में एक महत्वपूर्ण ओवरहेड नहीं बनाना चाहिए।

तो केवल एक खोज को प्राप्त करने के लिए गलत शब्दों को गलत तरीके से देखने की नकारात्मकता प्रदान करता है और बिना किसी स्पष्ट लाभ की पेशकश के, इसे पढ़ने की तुलना में अधिक कठिन है।


11
और, रिफ्लेक्टरिंग उपकरण बेहतर होने के साथ, वैश्विक खोज और केवल पाठ पर आधारित एक पहचानकर्ता का नाम बदलने के लिए कम से कम विश्वसनीय तरीका बन रहा है।
केंट ए।

यह "पूरे शब्द केवल" खोज का उपयोग करके एक मुद्दा नहीं होगा, जैसा कि डॉक ब्राउन ने उल्लेख किया है।
SHNC

6
@ user3047082, पूरे शब्द की खोज "कंपनी" से मेल नहीं खाएगी, या तो पूरे प्रश्न को व्यर्थ कर देगी ...
डेविड अरनो

6

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


3
किसने इस उत्तर को निम्न गुणवत्ता के रूप में चिह्नित किया: जबकि यह कड़ाई से पूछे गए प्रश्न का उत्तर नहीं देता है, यह इस बात की बड़ी तस्वीर को संबोधित करता है कि कोई व्यक्ति इस तरह के नामकरण योजना और उसी कार्य को पूरा करने के बेहतर तरीके का उपयोग क्यों करना चाहता है। मैंने ध्वज की समीक्षा में "ठीक लग रहा है" मतदान किया और एक जोड़ा।

धन्यवाद, @ सलमान। यह मानव स्वभाव है, जब एक अज्ञात क्षेत्र में, अपनी खुद की (अनुभवहीन) मानसिकता के आधार पर एक प्रश्न को फ्रेम करना। हां, जबकि मैंने वास्तविक प्रश्न का उत्तर नहीं दिया था, लेकिन वास्तव में जो पूछा जा रहा था, उसकी मेरी धारणा प्रश्न में अन्य सुरागों पर आधारित थी। मैंने जिन प्लुरल्स का सबसे अधिक सामना किया है, वे कोड जनरेशन टूल्स, जैसे, XSD-PO-POJO, Hibernate / JPA डेटाबेस से रिवर्स इंजीनियरिंग इत्यादि हैं, अनिवार्य रूप से, अगर ये प्लुरल कोड में हैं और लेखक को पसंद नहीं है बहुवचन, तो वे सबसे अधिक संभावना लेखक द्वारा नहीं लिखे गए थे और अधिक स्वतः उत्पन्न थे।
javabeano

-9

हाँ! हाँ! हाँ! यह करने के लिए एकदम सही समझ में आता है। और मैं इसे सालों से कर रहा हूं।

प्रकटीकरण 1: अंग्रेजी मेरी मूल भाषा नहीं है।

प्रकटीकरण 2: अंग्रेजी व्याकरण का मेरा ज्ञान औसत देशी वक्ता की तुलना में काफी बेहतर है।

प्रकटीकरण 3: जब मनुष्यों के साथ संवाद करने की बात आती है, तो मैं एक व्याकरण व्याकरण नाजी हूं।

और अब जब ये खुलासे हो रहे हैं, तो मैं बता दूं कि अंग्रेजी व्याकरण का कोड में कोई स्थान नहीं है। आप देखते हैं, इसीलिए इसे कोड कहा जाता है न कि गद्य । यह पठनीयता के उद्देश्य से, मनुष्यों द्वारा समझी जाने वाली भाषा के लिए कुछ समानता के रूप में माना जाता है, लेकिन इसके अलावा, हमें कोड से ज्यादातर जो चाहिए, वह गद्य के गुण नहीं हैं; यह अन्य, अधिक तकनीकी गुण, जैसे कि सटीक , स्पष्टता , और मरोड़ है । क्यों की सी वाक्य रचना कि if( x != y ) y++;है ज्यादा बेहतर IF X IS NOT EQUAL TO Y THEN ADD 1 TO Y END-IF.कोबोल की वाक्य रचना। प्राकृतिक भाषा को समझने वाले संकलक की कथित वांछनीयता एक गिरावट है, और इसके लिए मेरा शब्द न लें, देखें कि ol'Edsger का इसके बारे में क्या कहना है:"प्राकृतिक भाषा प्रोग्रामिंग" की मूर्खता पर , एस्कर डब्ल्यू

एक और गुण जो महत्व का है वह है पहचानकर्ताओं की संगणना । तथ्य यह है कि एक संपत्ति जिसे Colorहमेशा बुलाया विधि के माध्यम से पढ़ा जा सकता है getColor()और एक विधि के माध्यम से लिखा जाता setColor()है जिसे सर्वोपरि महत्व दिया जाता है। ये पहचानकर्ता संपत्ति के नाम से गणना करने योग्य हैं, इसलिए आपको उन्हें दिल से जानना नहीं है। यदि एक प्रोग्रामर को getColor()एक हाथ पर बुलाया तरीकों की एक जोड़ी का चयन करना था , लेकिन colorize()दूसरी तरफ, उनके सहकर्मी इस तोड़फोड़ पर विचार करेंगे। यह है कि महत्वपूर्ण पहचानकर्ता संगणना कितनी महत्वपूर्ण है।

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

इसलिए, पहचानकर्ता कम्प्यूटेबिलिटी महत्वपूर्ण है, जबकि एक ही समय में अंग्रेजी व्याकरण अप्रासंगिक है, (क्योंकि हम प्राकृतिक भाषा प्रोग्रामिंग नहीं कर रहे हैं), इसलिए हमेशा नाम के लिए "s" जोड़कर संस्थाओं के एक संग्रह के नाम की गणना करने में सक्षम होना चाहिए। एक भी उदाहरण सही अर्थों में बनाता है, इस तथ्य को कभी भी ध्यान में न रखें कि यह अधिकांश लोगों (मेरा शामिल) अंग्रेजी भाषा संवेदनशीलता का उल्लंघन करता है।

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


7
1. इंडेक्स और इंडेक्स दोनों इंडेक्स के वैध प्लूर हैं। आप अपने विश्वास में गलत हैं कि केवल एक ही सही है, उदाहरण के लिए कृपया ऑक्सफ़ोर्ड डिक्शनरी . com/definition/english/index देखें । 2. एक निजी एक्स, जिसे गेटएक्स के माध्यम से पढ़ा जा सकता है और सेटएक्स के माध्यम से लिखा जा सकता है, निजी नहीं है; यह एक सार्वजनिक मूल्य है। 3. कोड एक डिज़ाइन दस्तावेज़ है। यह "मशीन कोड" उत्पन्न करने के तरीके पर एक संकलक को सूचित करता है, लेकिन अधिक महत्वपूर्ण बात यह है कि यह उस डिजाइन का वर्णन करता है जिसमें अन्य लोग आसानी से पढ़ सकते हैं। पठनीयता कोड करने के लिए दो सबसे महत्वपूर्ण पहलुओं में से एक है (परीक्षणनीयता अन्य होने के नाते)।
डेविड अरनो

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

3
हालांकि अंग्रेजी आपकी मूल भाषा नहीं हो सकती है, यह अगला व्यक्ति हो सकता है जो आपका कोड पढ़ता है। यह शायद आपकी मूल भाषा के अन्य लोगों को भी भ्रमित कर देगा जो अंग्रेजी सीख चुके हैं।
एंडी

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

2
जो भी हो, मुझे वह कागज गंदगी से भरा हुआ लगता है। कोड प्राकृतिक भाषा और बाइटकोड के बीच है। यदि कोड की मानव समझ को आसान बनाने के लिए नहीं है, तो सीधे बायटेकोड में प्रवेश करने का कोई कारण नहीं होगा।
एंडी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.