सॉफ्टवेअर डेव्हलपमेंट बर् याचदा स्वयंचलित साधनांचा वेगवान वेग आणि मॅन्युअल कारागिरीचा हेतुपुरस्सर उच्च-स्पर्श दृष्टिकोन दरम्यान रस्सीखेच असल्यासारखे वाटते. ऑटोमेशन ऑपरेशन्सचे मोजमाप करते आणि पुनरावृत्ती होणारे कंटाळवाणे काढून टाकते, कारागिरीची खात्री हे सुनिश्चित करते की सिस्टमची अंतर्निहित आर्किटेक्चर मोहक, टिकाऊ आणि जटिल, सूक्ष्म व्यावसायिक समस्या सोडविण्यास सक्षम आहे जी स्क्रिप्टला समजू शकत नाही.
ठळक मुद्दे
ऑटोमेशन 'गोष्टी योग्य करणे' मध्ये उत्कृष्ट आहे, तर कारागिरी 'योग्य गोष्टी करण्यावर' लक्ष केंद्रित करते.
कारागीर ऑटोमेशनचा वापर एक साधन म्हणून करतो, गंभीर विचारांना पर्याय म्हणून नाही.
ऑटोमेशन आउटपुट स्केल करते; कारागिरी त्या उत्पादनाची गुणवत्ता मोजते.
कारागिरीशिवाय, ऑटोमेशनमुळे खराब कोडचा जलद प्रसार होऊ शकतो.
सॉफ्टवेअर ऑटोमेशन काय आहे?
मानवी हस्तक्षेपाशिवाय पुनरावृत्ती विकास, चाचणी आणि उपयोजन कार्ये हाताळण्यासाठी साधने आणि स्क्रिप्टचा वापर.
आधुनिक सीआय / सीडी पाइपलाइन तैनाती वेळ दिवसांपासून केवळ काही मिनिटांपर्यंत कमी करू शकतात.
स्वयंचलित चाचणी संच मानवाला आवश्यक असलेल्या वेळेच्या काही अंशात हजारो एज-केस परिस्थिती कार्यान्वित करू शकतात.
कोड म्हणून पायाभूत सुविधा साध्या कॉन्फिगरेशन फायलींचा वापर करून संपूर्ण सर्व्हर वातावरणाची उत्तम प्रकारे प्रतिकृती करण्यास अनुमती देते.
एआय-चालित कोड जनरेशन आता नैसर्गिक भाषेच्या टिप्पण्यांवर आधारित संपूर्ण कार्ये सुचवू शकते.
जेव्हा उत्पादनामध्ये सॉफ्टवेअर अपयश उद्भवते तेव्हा ऑटोमेशन 'पुनर्प्राप्तीसाठी सरासरी वेळ' लक्षणीयरीत्या कमी करते.
सॉफ्टवेअर कारागिरी काय आहे?
देखभाल करण्यायोग्य, मजबूत कोड लिहिण्याच्या व्यावसायिक कौशल्य, जबाबदारी आणि कलात्मक गुणवत्तेवर लक्ष केंद्रित करणारे तत्त्वज्ञान.
सॉफ्टवेअर क्राफ्ट्समनशिप मॅनिफेस्टो 2009 मध्ये चपळ तत्त्वांची उत्क्रांती म्हणून तयार करण्यात आला होता.
दीर्घकालीन व्यवहार्यता सुनिश्चित करण्यासाठी कारागिरी केवळ 'कार्यरत सॉफ्टवेअर' पेक्षा 'चांगल्या प्रकारे तयार केलेल्या सॉफ्टवेअर'ला प्राधान्य देते.
अर्थपूर्ण नामकरण आणि लहान कार्ये यासारख्या स्वच्छ कोड पद्धती हस्तकलेसाठी मूलभूत आहेत.
प्रॅक्टिशनर्स केवळ त्वरित प्रकल्पाची अंतिम मुदत पूर्ण करण्याऐवजी मालकीच्या दीर्घकालीन किंमतीवर लक्ष केंद्रित करतात.
तुलना सारणी
वैशिष्ट्ये
सॉफ्टवेअर ऑटोमेशन
सॉफ्टवेअर कारागिरी
प्राथमिक ध्येय
वेग आणि सातत्य
गुणवत्ता आणि देखभाल
साठी सर्वोत्तम
पुनरावृत्ती, उच्च-व्हॉल्यूम कार्ये
जटिल तर्कशास्त्र आणि आर्किटेक्चर
मानवी घटक
कमी (एकदा कॉन्फिगर केल्यावर)
उच्च (खोल लक्ष केंद्रित करणे आवश्यक आहे)
स्केलेबिलिटी
उत्कृष्ट आणि त्वरित
हळू आणि सेंद्रिय
त्रुटी हाताळणे
रिग्रेशन त्वरीत पकडते
डिझाइनद्वारे तार्किक त्रुटी टाळते
किंमत प्रोफाइल
उच्च सेटअप, कमी परिचालन खर्च
प्रतिभेमध्ये सातत्यपूर्ण गुंतवणूक
लवचिकता
परिभाषित पॅरामीटर्समध्ये कठोर
अनन्य गरजांशी अत्यंत जुळवून घेण्याजोगे
तपशीलवार तुलना
कार्यक्षमता आणि वेग
ऑटोमेशन हा वेगाचा निर्विवाद चॅम्पियन आहे, ज्यामुळे संघांना अद्यतने पुश करण्याची आणि चोवीस तास चाचण्या घेण्याची परवानगी मिळते. तथापि, वेग ही दुधारी तलवार आहे. जर आपण गोंधळलेली प्रक्रिया स्वयंचलित केली तर आपण फक्त तांत्रिक कर्ज जलद तयार करता. कारागिरी आवश्यक ब्रेक म्हणून कार्य करते, हे सुनिश्चित करते की वेगवान केले जाणारे काम दीर्घकाळापर्यंत प्रत्यक्षात करणे योग्य आहे.
विश्वासार्हता आणि देखभाल
स्वयंचलित प्रणाली एक सुरक्षा जाळे प्रदान करते जे वापरकर्त्यापर्यंत पोहोचण्यापूर्वी लहान चुका पकडते, विश्वासार्हतेची आधाररेखा सुनिश्चित करते. तरीही, एखाद्या कारागीराने कोडबेसमध्ये आणलेली सखोल समज अंतर्ज्ञानी समस्या निवारणास अनुमती देते जी कोणतीही स्क्रिप्ट प्रतिकृती बनवू शकत नाही. एक चांगली रचना केलेली प्रणाली स्वयंचलित करणे बर् याचदा सोपे असते कारण त्याचे तर्कशास्त्र स्वच्छ आणि अंदाज लावण्यायोग्य असते.
नावीन्य आणि सर्जनशीलता
जेव्हा विकसक त्यांच्या नोकरीचे कंटाळवाणे भाग स्वयंचलित करतात, तेव्हा ते कारागिरीची व्याख्या करणार् या सर्जनशील समस्या-निराकरणासाठी मानसिक ऊर्जा मोकळी करतात. कारागिरी ही अशी आहे जिथे खरे नावीन्य घडते, कारण त्यात वापरकर्ता अनुभव आणि सिस्टम डिझाइनबद्दल सूक्ष्म निर्णय घेणे समाविष्ट आहे. ऑटोमेशन 'कसे' हाताळून यास समर्थन देते जेणेकरून मानव 'का' वर लक्ष केंद्रित करू शकेल.
आर्थिक परिणाम
ऑटोमेशनमध्ये गुंतवणूक करण्यासाठी सामान्यत: साधने आणि कॉन्फिगरेशनमध्ये महत्त्वपूर्ण आगाऊ खर्च आवश्यक असतो परंतु कालांतराने कमी मॅन्युअल श्रमांद्वारे पैसे मिळतात. कारागिरी वरिष्ठ प्रतिभा आणि समवयस्कांच्या पुनरावलोकनांमध्ये स्थिर गुंतवणूकीचे प्रतिनिधित्व करते, जे सुरुवातीला महाग वाटू शकते. शेवटी, दोन्ही पध्दतींचे उद्दीष्ट बग्गी, निराकरण न करण्यायोग्य सॉफ्टवेअर टाळून 'मालकीची एकूण किंमत' कमी करणे आहे.
गुण आणि दोष
ऑटोमेशन
गुणदोष
+मानवी त्रुटी दूर करते
+जलद स्केलिंग सक्षम करते
+दीर्घकालीन वेळ वाचवते
+सातत्यपूर्ण परिणाम
संरक्षित केले
−उच्च प्रारंभिक सेटअप
−बदलांसाठी ठिसूळ
−सूक्ष्म निर्णयाचा अभाव
−चालू देखभाल आवश्यक आहे
कारागिरी
गुणदोष
+उत्कृष्ट कोड गुणवत्ता
+विकसित करणे सोपे
+खोलवर देखभाल करण्यायोग्य
+विकासकाचे उच्च मनोबल
संरक्षित केले
−सुरुवातीला जास्त वेळ लागतो
−उच्च प्रतिभेची किंमत
−मोजणे कठीण
−ओव्हर-इंजिनीअरिंगला कारणीभूत ठरू शकते
सामान्य गैरसमजुती
मिथ
ऑटोमेशन अखेरीस मानवी प्रोग्रामरची जागा घेईल.
वास्तव
एआय आणि सीआय / सीडी सारखी साधने सामरिक अंमलबजावणी हाताळतात, परंतु ते व्यवसाय मूल्य परिभाषित करू शकत नाहीत किंवा जटिल मानवी आवश्यकता नेव्हिगेट करू शकत नाहीत. प्रणाली अधिक जटिल होत असताना या साधनांचे मार्गदर्शन करण्यासाठी कारागीरांची गरज प्रत्यक्षात वाढत आहे.
मिथ
सॉफ्टवेअर कारागिरी हे हळू हळू काम करण्याचे फक्त एक निमित्त आहे.
वास्तव
आज स्वच्छ फंक्शन लिहिण्यास जास्त वेळ लागू शकतो, परंतु पुढील महिन्यात डीबगिंग आणि पुनर्लेखन करण्याचे तास प्रतिबंधित करते. खरी कारागिरी प्रत्यक्षात प्रकल्पाच्या आयुष्यावर 'निव्वळ वेग' वाढवते.
मिथ
आपल्याला एकापेक्षा दुसर् याची निवड करावी लागेल.
वास्तव
या विरोधी शक्ती नसून एकाच नाण्याच्या दोन बाजू आहेत. सर्वात यशस्वी अभियांत्रिकी कार्यसंघ डिलिव्हरीसाठी स्वयंचलित घटक तयार करण्यासाठी उच्च-अंत कारागिरी वापरतात.
मिथ
ऑटोमेशन केवळ मोठ्या उद्योगांसाठी आहे.
वास्तव
अगदी एकल विकसकांना साध्या ऑटोमेशनचा फायदा होतो, जसे की लिंटिंग किंवा मूलभूत चाचणी धावपटू. हे संघाच्या आकाराबद्दल नाही, परंतु पुनरावृत्ती कार्यांवर वेळ वाया घालवणे थांबविण्याची इच्छा आहे.
वारंवार विचारले जाणारे प्रश्न
कारागिरीशिवाय ऑटोमेशन अस्तित्वात असू शकते का?
तांत्रिकदृष्ट्या होय, परंतु ते सहसा आपत्तीत संपते. जर आपण खराब लिहिलेले, 'स्पॅगेटी' कोडचे उपयोजन स्वयंचलित केले तर आपण फक्त आपल्या वापरकर्त्यांना उच्च वारंवारतेवर बग वितरित करीत आहात. कारागिरी स्थिर पाया प्रदान करते ज्यामुळे ऑटोमेशन प्रभावी आणि सुरक्षित होते.
एआय-व्युत्पन्न कोड कारागिरी मानली जाते का?
एआय हे कारागिराच्या किटमधील एक शक्तिशाली साधन आहे, जसे की सुतारासाठी पॉवर सॉ आहे. कारागिरी ही आहे की विकसक त्या एआय-व्युत्पन्न कोडचे सुसंगत, टिकाऊ आर्किटेक्चरमध्ये पुनरावलोकन, परिष्कृत आणि समाकलित कसे करते. छाननीशिवाय कच्चे एआय आउटपुट वापरणे कारागिरीच्या उलट आहे.
वेगवान वातावरणात मी कारागिरीची अंमलबजावणी कशी सुरू करू?
प्रत्येक कामासाठी 'तुम्हाला सापडलेल्या पेक्षा चांगले सोडा' या नियमाचा अवलंब करून लहान सुरुवात करा. पीअर कोड पुनरावलोकने लागू करा आणि वर्णनात्मक नामकरण सारख्या मूलभूत स्वच्छ कोड तत्त्वांवर चिकटून रहा. आपल्याला एकाच वेळी सर्वकाही पुन्हा लिहिण्याची आवश्यकता नाही; कारागिरी ही दररोज सातत्यपूर्ण, गुणवत्ता-केंद्रित निवडी करण्याची सवय आहे.
मी प्रथम कोणती कार्ये स्वयंचलित करावीत?
'कष्ट' शोधा - अशी कार्ये जी मॅन्युअल, पुनरावृत्ती आणि दीर्घकालीन मूल्य नसलेली आहेत. चाचणी, उपयोजन आणि पर्यावरण सेटअप हे क्लासिक प्रारंभिक बिंदू आहेत. जर आपण स्वत: ला तीनपेक्षा जास्त वेळा क्लिक किंवा कमांडचा समान क्रम करत असल्याचे आढळले तर ते स्क्रिप्टसाठी एक प्रमुख उमेदवार आहे.
कारागिरीचा अर्थ असा आहे की कोडमध्ये कधीही बग नसतात?
अजिबात नाही, परंतु याचा अर्थ असा आहे की ते बग शोधणे आणि निराकरण करणे खूप सोपे आहे. एक चांगले तयार केलेले कोडबेस मॉड्यूलर आणि पारदर्शक आहे, म्हणून जेव्हा काहीतरी चुकीचे होते, तेव्हा प्रभाव समाविष्ट केला जातो आणि विकसकास मूळ कारण त्वरीत ओळखण्यासाठी तर्क पुरेसा स्पष्ट असतो.
या चर्चेत नेहमी 'तांत्रिक कर्ज' चा उल्लेख का केला जातो?
तांत्रिक कर्ज म्हणजे चांगल्या प्रकारे तयार केलेल्या उपायांपेक्षा द्रुत, गोंधळलेला उपाय निवडण्याची किंमत. ऑटोमेशन उपयोजन सुलभ करून हे कर्ज काही काळासाठी लपवू शकते, परंतु अखेरीस, जेव्हा कोड बदलण्यासाठी खूप गुंतागुंतीचा होतो तेव्हा कर्ज येते. कारागिरी म्हणजे ते कर्ज नियमितपणे फेडण्याची प्रथा.
विकसक बर्नआउटमध्ये ऑटोमेशन कशी मदत करते?
बर्नआउट बर् याचदा पुनरावृत्ती, 'मूर्ख' कामासह निराशेमुळे आणि गोष्टी मोडण्याच्या भीतीमुळे उद्भवते. ऑटोमेशन मॅन्युअल उपयोजनाचा ताण आणि पुनरावृत्ती चाचणीचा कंटाळा दूर करते, ज्यामुळे विकसकांना सॉफ्टवेअर तयार करण्याच्या सर्जनशील, फायद्याच्या पैलूंवर अधिक वेळ घालवता येतो.
सॉफ्टवेअर कारागिरी केवळ वरिष्ठ विकसकांसाठी आहे का?
नाही, ही एक मानसिकता आहे जी कोणताही विकसक पहिल्या दिवसापासून स्वीकारू शकतो. खरं तर, बर् याच कनिष्ठ विकसकांना असे आढळले आहे की कारागिरीवर लक्ष केंद्रित केल्याने त्यांना जलद शिकण्यास मदत होते कारण ते फक्त स्निपेट्स कॉपी आणि पेस्ट करण्याऐवजी कोडमागील 'का' समजून घेण्यास भाग पाडते.
नो-कोड प्लॅटफॉर्म साध्या वापराच्या प्रकरणांसाठी अत्यंत ऑटोमेशनचा एक प्रकार आहे. तथापि, अद्वितीय व्यवसाय तर्कशास्त्र, उच्च-कार्यक्षमतेच्या गरजा किंवा जटिल एकत्रीकरणासाठी, सानुकूल-तयार केलेला कोड अद्याप आवश्यक आहे. हे प्लॅटफॉर्म सहसा कारागिरीला अमूर्ततेच्या उच्च पातळीवर हलवतात.
सॉफ्टवेअर कारागिरीसाठी जाहीरनामा काय आहे?
हे एक लहान दस्तऐवज आहे जे चार प्रमुख मूल्यांवर जोर देते: चांगल्या प्रकारे तयार केलेले सॉफ्टवेअर, हळूहळू मूल्य जोडणे, व्यावसायिकांचा समुदाय आणि उत्पादक भागीदारी. विकसकांना आठवण करून देण्यासाठी हे लिहिले गेले होते की कोड लिहिणे हा एक व्यावसायिक व्यवसाय आहे ज्यासाठी सतत शिकणे आणि एखाद्याच्या कामाचा अभिमान असणे आवश्यक आहे.
निकाल
जेव्हा आपल्याला विश्वसनीय प्रक्रिया मोजण्याची आवश्यकता असते तेव्हा ऑटोमेशन निवडा आणि गोष्टी न तोडता वेगवान हलवा. गुणवत्ता, वाचनीयता आणि दीर्घकालीन उत्क्रांती ही सर्वोच्च प्राथमिकता असलेल्या अद्वितीय उत्पादनाचे मूळ तर्कशास्त्र तयार करताना कारागिरीकडे झुकवा.