बॉयलरप्लेट कोड क्या है?


384

एक सहकर्मी ने कभी इसके बारे में नहीं सुना था, और मैं एक वास्तविक परिभाषा प्रदान नहीं कर सका। मेरे लिए, यह हमेशा 'I-know-it-When-I-see-it' का उदाहरण रहा है।

बोनस प्रश्न, शब्द की उत्पत्ति किसने की?


68
एक नोट के रूप में, बॉयलरप्लेट शब्द प्रोग्रामिंग के लिए अनन्य नहीं है। उदाहरण के लिए, एक वकील आपको हस्ताक्षर करने के लिए 5 पृष्ठ का अनुबंध दे सकता है, लेकिन अधिकांश अनुबंध बॉयलरप्लेट है। मतलब यह सभी के लिए समान है, जो उस अनुबंध को प्राप्त करता है, केवल कुछ लाइनें यहां और वहां बदल गईं।
मॉलीसून

26
मैं किसी और के बारे में नहीं जानता, लेकिन मेरी कंपनी में बॉयलरप्लेट कोड वह कोड है जो बॉयलरप्लेट को संचालित करता है: खुला, बंद, धोना, बदलना, आदि ...
ulty4life

1
यह प्रश्न ऑफ़-टॉपिक प्रतीत होता है क्योंकि यह शब्दजाल के बारे में है।
एड्रियानो रेपेट्टी

4
मैं लारवेल के दस्तावेज और विचार के कारण यहां आया था .. "यह बॉयलरप्लेट-सामान क्या है जिसके बारे में वे बात कर रहे हैं?"। कुछ उत्तरों को पढ़ने के बाद मुझे लगा कि यह सीधे तौर पर संबंधित विकी-पृष्ठ मामले पर अंतर्दृष्टि दिखाता है: en.wikipedia.org/wiki/Boilerplate_code
बेन फ्रांसेन

1
मैंने हाल ही में इस शब्द को सुना है, इसलिए मुझे यह जानने की उत्सुकता है कि क्या मैं उन्हें प्रोग्रामिंग भाषाओं के लिए प्लगइन या मॉड्यूल कह सकता हूं।
अंजिल पांचाल

जवाबों:


215

"बॉयलरप्लेट कोड" किसी भी प्रतीत होता है दोहरावदार कोड है जो कुछ परिणाम प्राप्त करने के लिए बार-बार दिखाता है कि ऐसा लगता है कि यह बहुत सरल होना चाहिए।

यह एक व्यक्तिपरक परिभाषा है।

यह शब्द अखबार उद्योग में "बॉयलरप्लेट" से आता है: विकी


2
ओओपी में बहुपरतता के पीछे का विचार बॉयलरप्लेट को कम करना है, इसलिए जब ठीक से लागू किया जाता है तो इसे काफी कम किया जा सकता है।
एंड्रयू स्लेज

यह भी कहा जाता है, यह स्टील उद्योग से आता है, जहां स्टील प्लेटों का उपयोग बॉयलरों में किया जाता है
मोहम्मद शरीफ सी

55

व्युत्पत्ति शब्द पर बायलरप्लेट : http://www.takeourword.com/Issue009.html से ...

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

प्रोग्रामिंग में बॉयलरप्लेट क्या बनता है? जैसा कि अन्य लोगों ने बताया है, यह कोड का एक हिस्सा है जिसे बार-बार कॉपी किया जाता है और इस प्रक्रिया में बहुत कम या कोई बदलाव नहीं किया जाता है।


एक वैकल्पिक स्पष्टीकरण है mentalfloss.com/article/26087/why-it-boilerplate-text जिसके लिए मैंने और संदर्भ देखे हैं।
fgysin

1
अरे नहीं! यह एक व्याकरण स्टेक्सचेंज के लिए एक उत्तर की तरह लगता है ... वास्तव में शायद यह पूरा सवाल है, लेकिन मैं देख सकता हूं कि हमें यहां इसकी आवश्यकता क्यों है ...
pythonian29033

55

बॉयलरप्लेट कोड का अर्थ है कोड का एक टुकड़ा जिसे बार-बार इस्तेमाल किया जा सकता है। दूसरी ओर, कोई भी कह सकता है कि यह पुन: प्रयोज्य कोड का एक टुकड़ा है।

यह शब्द वास्तव में इस्पात उद्योगों से आया है।

थोड़े से इतिहास के लिए , विकिपीडिया के अनुसार :

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

अब विकिपीडिया के अनुसार :

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

public class Pet {
    private PetName name;
    private Person owner;

    public Pet(PetName name, Person owner) {
        this.name = name;
        this.owner = owner;
    }

    public PetName getName() {
        return name;
    }

    public void setName(PetName name) {
        this.name = name;
    }

    public Person getOwner() {
        return owner;
    }

    public void setOwner(Person owner) {
        this.owner = owner;
    }
}

38

यह एक ऐसा कोड है जिसका उपयोग कई अनुप्रयोगों / संदर्भों में बहुत कम या बिना परिवर्तन के किया जा सकता है।

बॉयलरप्लेट को 1900 के दशक की शुरुआत में इस्पात उद्योग से प्राप्त किया गया था।


34

से विकिपीडिया :

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

तो मूल रूप से आप बॉयलरप्लेट कोड को एक पाठ के रूप में विचार कर सकते हैं , जो कि उस भाषा में आपके द्वारा लिखे जाने वाले कार्यक्रमों के आसपास प्रोग्रामिंग भाषा द्वारा बहुत बार आवश्यक होता है।

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


24

बॉयलरप्लेट वह है जो अच्छे प्रोग्रामर से बचते हैं: पुनरावृत्ति।


36
OMG, आपके उत्तर में दो बार "ती" है! जैसा कि आप देख सकते हैं, पुनरावृत्ति हमेशा खराब नहीं होती है
तमसेन सेंगेल

3
मैं कैसे बचूं public static void main(String[] _)?
कोरे तुगे

15

सॉफ्टवेयर विकास में बॉयलरप्लेट अलग-अलग लोगों के लिए अलग-अलग चीजों का मतलब हो सकता है लेकिन आम तौर पर कोड का ब्लॉक होता है जो बार-बार उपयोग किया जाता है।

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


7

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


7

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

समानार्थक शब्द
एक ब्लूप्रिंट एक बॉयलरप्लेट है
एक स्टैंसिल एक बॉयलरप्लेट
है एक बॉयलर
एक बॉयलरप्लेट है जिसमें कई उपयोग के लिए एक डिज़ाइन पैटर्न है एक बॉयलरप्लेट
है एक मेल का एक हस्ताक्षर एक बॉयलरप्लेट है



2

से whatis.techtarget.com :

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

प्रोग्रामिंग से परे:

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

एक प्रोग्रामर के रूप में मेरे अनुभव में, उचित प्रकार का बॉयलरप्लेट कोड आमतौर पर कोड का एक गुच्छा होता है जिसे आप शुरू करते हैं जो कि बड़े और / या जटिल नहीं है जिसे एक रूपरेखा कहा जाता है।

एक विशिष्ट उदाहरण एचटीएमएल 5 बॉयलरप्लेट होगा


1

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


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

0

एक बॉयलरप्लेट लेखन की एक इकाई है जिसे बिना बदलाव के बार-बार इस्तेमाल किया जा सकता है। विस्तार से, विचार कभी-कभी पुन: प्रयोज्य प्रोग्रामिंग पर लागू होता है, जैसा कि "बॉयलरप्लेट कोड" में होता है

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