ईस्टर अंडे के खिलाफ क्या तर्क हैं? वहाँ भी ईस्टर अंडे का समर्थन करने के लिए कोई तर्क है? [बन्द है]


28

मैं एक जस्टर का एक सा हूँ इसलिए एक ईस्टर अंडे का विचार अभी भी मुझे अपील करता है। मैंने उन्हें पहले अपने कोड में जोड़ा है लेकिन मेरे दोस्तों के समूह में अंडे को ट्रिगर करने के लिए CTRL-FU का उपयोग करने का एक मजाक है।

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

ईस्टर अंडे के खिलाफ क्या तर्क हैं? इसके अलावा, वहाँ भी ईस्टर अंडे का समर्थन करने के लिए कोई तर्क है?


5
IMHO इस सवाल के नीचे एक वोट के लायक नहीं है, निश्चित रूप से एक गैर प्रेरित एक नहीं है। मैं खुद इस विषय में बहुत रुचि रखता हूं। विशेष रूप से यह जानते हुए कि यह अंत उपयोगकर्ताओं, वास्तविक मालिकों द्वारा कैसे माना जाता है।

यह एक क्लासिक @ मर्क ट्रैप के लिए प्रमुख है "हम यहां वास्तविक समस्याओं को हल करने के लिए हैं जिनका आप सामना कर रहे हैं।"
ग्रिट्ज़ी

1
@ChrisF वाह अगर मेरा प्रश्न प्रोग्रामर .stackexchange.com/questions/38810/… को "वास्तविक प्रश्न" प्रतिक्रिया मिलती है और आपका यह कहना मुझे नहीं लगता है तो मैं वास्तव में इस साइट के उद्देश्य से काफी भ्रमित हूं।
ग्रैटी

1
महान प्रश्न, IMHO।
उरई

1
@Mark C Aye, मैं संसाधनों को बर्बाद करने के बारे में सिर्फ शीर्ष पर है।

जवाबों:


11

जैसा कि हमेशा जवाब "यह निर्भर करता है"।

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

एक आवेदन में ईस्टर एग होने से प्रदर्शन पर हानिकारक प्रभाव नहीं होना चाहिए। इसलिए जब तक आप अपने एप्लिकेशन के सामान्य संचालन के लिए कीबोर्ड इनपुट पार्स नहीं कर रहे हैं Ctrl+ FUट्रिगर के रूप में एक बुरा विचार है। जब तक कोड को केवल तब ही निष्पादित किया जाएगा जब तक कि कोई रनटाइम जुर्माना न हो। एकमात्र दंड कार्यक्रम के आकार में वृद्धि है - जो एक समस्या हो सकती है या नहीं। यदि प्रोग्राम का आकार एक मुद्दा है, तो इसे निश्चित रूप से छोड़ दें।

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


"एक आवेदन में ईस्टर एग होने से प्रदर्शन पर हानिकारक प्रभाव नहीं होना चाहिए। यह केवल तभी क्रियान्वित किया जाएगा यदि ऐसा पाया जाता है कि कोई अन्य जुर्माना नहीं है।" वास्तव में? यदि ओपी राज्यों के रूप में CTRL-FU द्वारा इसकी शुरुआत होती है, तो क्या आप हर कुंजी स्ट्रोक में नहीं फंसते हैं?
ग्रैटी

2
@Gratzy - वास्तव में यह एक अच्छा बिंदु है - जब तक आप सामान्य ऑपरेशन के लिए कीस्ट्रोक्स को नहीं फँसाते हैं, तो यह एक खराब ईस्टर अंडे का एक उदाहरण है।
ChrisF

7

मैं कहूंगा कि आपके द्वारा विकसित किए जा रहे सॉफ़्टवेयर के प्रकार पर अत्यधिक निर्भर करता है।

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

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

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

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


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

@Anon: विकिपीडिया लेख से मैंने अपने जवाब में उल्लेख किया है: "Microsoft, जिसने अतीत में माइक्रोसॉफ्ट ऑफिस में सबसे बड़े और सबसे विस्तृत ईस्टर अंडे जैसे कुछ बनाए हैं, अब ईस्टर अंडे को अपने सॉफ़्टवेयर के हिस्से के रूप में अनुमति नहीं देता है उनकी भरोसेमंद कम्प्यूटिंग पहल। " उस वक्तव्य का स्रोत MSDN ब्लॉग है जो चार्ल्स के उत्तर से जुड़ा हुआ है। मुझे अपने बयान से कोई विरोधाभास नहीं है। क्या आप बता सकते हैं कि मुझे यह गलत कहाँ लगा? :)
Baelnorn

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

@ बंदूक: सिर के लिए धन्यवाद। मैंने अपना उत्तर संपादित किया और पहले भाग में EE के कारणों का विवरण देते हुए पैराग्राफ को फिर से लिखा।
बालर्नोर्न

5

80 और 90 के दशक में प्रमुख वाणिज्यिक सॉफ्टवेयर रिलीज में भी ईस्टर अंडे आम थे। अधिकांश भाग वे प्यारे थे और अपेक्षाकृत कम लोग उनसे परेशान थे। मुझे लगता है कि वे तीन कारणों से आज कम आम हैं:

  1. सभी व्यावहारिक चुटकुलों की तरह, वे मजाकिया हैं जब तक कि किसी को आंख नहीं मिलती है। यदि आपके ईस्टर अंडे में बग है, जो डेटा हानि या प्रदर्शन की समस्या का कारण बनता है, तो आपको अंत में वकीलों का एक समूह समझाना पड़ सकता है जो आप वास्तव में "मैलवेयर" वितरित नहीं कर रहे थे।

  2. हास्य बहुत, बहुत, सही करने के लिए कठिन है, और यदि आप इसे गलत करते हैं, तो आप उन ग्राहकों को भुगतान करना छोड़ देंगे, जो तब आपके सॉफ़्टवेयर के लिए भुगतान करना बंद कर देंगे और जो आपको एक भयानक, अपरिपक्व कंपनी में काम करने के बारे में प्रेस को कई बुरा पत्र लिखेंगे के लिये। Ctrl-FU द्वारा ट्रिगर ईस्टर अंडे का उदाहरण एक आदर्श उदाहरण है। यह शायद आपके 17 साल के दोस्तों के लिए हिस्टीरिक रूप से मज़ेदार है, लेकिन यह आपके ग्राहकों को "फू", कभी मजाक में भी नहीं बताने के लिए मार्केटिंग का 0 वां नियम है। ध्यान दें कि बड़े वाणिज्यिक सॉफ्टवेयर में ईस्टर अंडे उपयोगकर्ता का केवल मज़ाक ही बनाते हैं।

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

लैरी ओस्टरमैन ने सालों पहले एक चर्चित ब्लॉग पोस्ट पर चर्चा की थी कि माइक्रोसॉफ्ट में ओएस समूह अब ईस्टर अंडे की अनुमति क्यों नहीं देता


1
आज भी Google के पास एक ईस्टर अंडा है - जिसका अर्थ है कि वे प्रत्येक खोज पर ईस्टर अंडे को ट्रिगर करने के लिए इनपुट की जाँच कर रहे हैं। यह शायद ज्यादा प्रसंस्करण नहीं है, लेकिन प्रत्येक दिन वे लाखों लाखों खोजों पर विचार करते हैं ... मुझे नहीं पता।
चार्ल्स साल्विया

मुझे यह स्वीकार करना चाहिए कि मैं एक प्रकार के कुंग-फू के रूप में CTRL-FU पढ़ता हूं।
क्रिस्टोफर क्रेतुज़िग

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

@CharlesSalvia इस बात पर निर्भर करता है कि वे "क्या आपका मतलब है" परिणामों को निर्धारित करने के लिए कैसे खोज करते हैं, यह उस व्यवहार के लिए पहले से ही किसी भी चीज के ऊपर कोई उपरि नहीं जोड़ सकता है।
JAB

4

ईस्टर अंडे बिल्डरों द्वारा छोड़े गए छोटे रहस्य हैं। क्या यह अंतिम उपयोगकर्ताओं को चोट पहुँचाता है? नहीं।

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

कोड अनुकूलन के लिए, जब तक कि ईस्टर अंडे बहुत अधिक सघन (हेलो फ्लाइट सिमुलेटर ) नहीं हैं, तब तक प्रदर्शन को सार्थक तरीके से प्रभावित नहीं करना चाहिए।


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

@ मम्मी: मुझे लगता है कि यह एक अत्यधिक संभावना नहीं है।
जोश के

क्या आप उन जोखिमों को कम करने की पूरी कोशिश नहीं करेंगे?
स्टुपरयूसर

@ स्टॉपर: क्या आपने कभी एक ईस्टर अंडे के दुर्घटनाग्रस्त होने के बारे में सुना है?
जोश के

किसी भी के बारे में नहीं सुना है, लेकिन ईस्टर अंडे के दौरान दुर्घटनाओं सबसे अधिक भाग में मुद्दों के वारंट प्रकाशन के लिए महत्वपूर्ण नहीं हैं। उपयोगकर्ता अक्सर सामान्य ऑपरेशन के दौरान अधिकांश एमएस प्रोग्राम क्रैश के लिए जानकारी वापस नहीं भेजते हैं ।
स्टुपरयूसर

2

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

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

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

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


0

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


-2

मैं डिबग और कोडिंग के लिए मेरी मदद करने के लिए ईस्टर अंडे का उपयोग करता हूं। इसलिए ईस्टर अंडे जो मैंने एक उद्देश्य की पूर्ति के लिए रखे हैं और शायद उन्हें ईस्टर अंडे नहीं माना जाता है।


आपके उपयोग में 'ईस्टर अंडे' का क्या मतलब है? क्या आप मुझे एक उदाहरण दे सकते हैं?

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

1
@Glenn, एक अच्छा उदाहरण होगा ... यदि आप एक डेस्कटॉप GUI अनुप्रयोग शिपिंग कर रहे हैं। जब उपयोगकर्ता एक बटन पर क्लिक करता है, तो उन्हें एक नया संवाद मिलता है। जब उपयोगकर्ता शिफ्ट कुंजी रखते हुए उस बटन पर क्लिक करता है, तो उन्हें एक पुराना मिलता है। पुरानी और नई कार्यक्षमता की तुलना करने के लिए यह एक अच्छा तरीका होगा, जब नए विजेट के कारण बग को ठीक करने की कोशिश की जाएगी। यदि आप सतर्क हैं, तो आप दोहरे कोड को छोड़ सकते हैं लेकिन पिछले दरवाजे पर टिप्पणी कर सकते हैं। फिर, जैसा कि आपको चीजों को डिबग करने की जरूरत है, असहजता, पुनर्निर्माण, और अब आप दो चीजों की एक-दूसरे से तुलना कर सकते हैं। डेव, आपकी गड़गड़ाहट चोरी करने की कोशिश के लिए खेद है।
नौकरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.