कोड पुनरावलोकन प्रक्रियेवर सीटीओचा दृष्टीकोन आणि आपल्या कार्यसंघासाठी ते कसे ऑप्टिमाइझ करावे?

तर, कोड पुनरावलोकन म्हणजे नक्की काय आहे किंवा त्याऐवजी ते काय असावे?

व्याख्या: "कोड पुनरावलोकन प्रक्रिया प्रकल्प स्त्रोत कोडची सुव्यवस्थित तपासणी आहे, ज्यामध्ये हेतूपूर्ण मुद्दे शोधण्यासाठी आणि कोडच्या गुणवत्तेचा अंदाज लावण्याचा हेतू आहे." कोड आढावा प्रक्रियेकडे योग्य दृष्टिकोन लक्ष केंद्रित करणे आणि सर्व प्रकल्प लक्ष्यांनुसार असणे आवश्यक आहे. इतर सर्व गोष्टींप्रमाणेच, आपण काहीतरी का केले हे जाणून घेणे, हे करण्याचा सर्वोत्तम मार्ग असू शकतो. कोडचा आढावा घेण्याचा संपूर्ण व्यायाम संपूर्ण कोडची गुणवत्ता सुधारण्यासाठी जबाबदार्या सामायिक करण्याच्या वातावरणाला प्रोत्साहन देण्यासाठी असावा.

उत्कृष्ट पद्धती शिकणे आणि त्यानुसार रुपांतर घेणे गुणवत्तापूर्ण सॉफ्टवेअर बनविण्यात आणि वितरित करण्यात योगदान देते. तरीही, आपला प्रकल्प किती विश्वासार्ह, अभेद्य आणि विश्वासार्ह आहे हे कोड गुणवत्तेवर परिणाम करते. सर्व विकास कार्यसंघासाठी उच्च-गुणवत्तेचा प्रकल्प प्रदान करणे गंभीर आहे. विशेषत: वेब तंत्रज्ञानामध्ये वाढत्या सुरक्षिततेसाठी, दर्जेदार कोड बनविणे महत्त्वपूर्ण बनते.

कोड एक चांगला कोड किंवा बॅड-कोड म्हणून वर्गीकृत आहे. गुड-कोड उच्च गुणवत्तेचा, स्वच्छ, लिहिलेला आणि समजण्यासारखा आहे. जरी बॅड-कोड इतके नसते आणि ते फार काळ टिकत नाही, जेव्हा सतत कार्यवाहीची वेळ येते तेव्हा ते अपयशी ठरते. बर्‍याच प्रकल्पांसाठी कोड गुणवत्ता बर्‍याचदा मध्यभागी असते. जेव्हा एखादा कोड समजण्यायोग्य, चांगल्या दस्तऐवजीकरण आणि चाचणी घेतला जातो तेव्हा तो उत्कृष्ट मानला जातो. कोड चांगला होण्यासाठी मॅन्युअल आणि फंक्शनल टेस्टिंग पुरेसे नाही, कारण यापुढे चालणार्‍या प्रोग्रामबद्दल कोणतेही आश्वासन दिले जात नाही. आमच्या विकास प्रक्रियेमध्ये पुनरावलोकन प्रक्रियेने नेहमीच महत्त्वपूर्ण भूमिका बजावली आणि त्यानंतरही पुनरावलोकनकर्त्याच्या प्राधान्यांच्या आधारे, मॅन्युअल पुनरावलोकनाच्या दरम्यान डुप्लिकेशन आणि कोडिंग मानदंड सहजपणे दुर्लक्षित किंवा दुर्लक्षित केले गेले.

““ सॉफ्टवेयर दोष मूळ आणि काढण्याच्या पद्धती ”विषयी केलेल्या अभ्यासात असे आढळले आहे की वैयक्तिक प्रोग्रामर त्यांच्या सॉफ्टवेअरमध्ये बग शोधण्यात 50% पेक्षा कमी कार्यक्षम आहेत. आणि चाचणीचे बरेच प्रकार केवळ 35% कार्यक्षम असतात. यासारख्या अभ्यासामुळे गुणवत्ता निश्चित करणे कठीण होते. ”

स्त्रोत

कोड पुनरावलोकनासाठी सॉफ्टवेअर कंपन्यांमध्ये सामान्य परिस्थिती

तेथे बर्‍याच कंपन्या आहेत ज्यांच्या सॉफ्टवेअर विकास प्रक्रियेत कोड पुनरावलोकन प्रक्रिया आहे. परंतु बहुतेक वेळेस सीआय / सीडी (सतत एकत्रीकरण / उपयोजन चालू ठेवते) वातावरण प्रगतीशील विकासाकडे झुकत जाते, वितरण ही सॉफ्टवेअर डेव्हलपमेंट प्रक्रियेच्या महत्त्वपूर्ण बाबींपैकी एक बनते. ज्यामुळे कोड पुनरावलोकन अनेकदा मागील आसन घेते. शेवटी, बर्‍याच तांत्रिक toणापर्यंत पोचते ज्यामुळे संपूर्ण प्रक्रियेवर परिणाम होतो आणि प्रकल्प दीर्घकाळापर्यंत उभे राहतात. कोडचे पुनरावलोकन ज्या ठिकाणी केले गेले आहे ते विविध पध्दती घेऊ शकतात जेणेकरून प्रत्येक कंपनीसाठी एकंदर प्रक्रिया बदलू शकते.

उदाहरणार्थ:-

  • काही कंपन्या मोठ्या प्रमाणात 'गिट' वापरतात आणि त्यांची पाइपलाइन मास्टर आणि शाखा स्वरूपात स्थापित करतात जेणेकरून प्रत्येक “पुल विनंती” मध्ये एक पीअर कोड पुनरावलोकन समाविष्ट असेल.
  • काही इतर कंपन्या, विशेषतः स्टार्टअप्स, औपचारिक कोड पुनरावलोकनाची निवड करत नाहीत आणि त्याऐवजी, त्यांच्यात पीअर-टू-पीअर चर्चा असते. यात काही चुकीचे नाही याची खात्री करण्यासाठी कार्यसंघातील कोणीतरी सहजपणे कोडकडे पहातो.
  • बर्‍याच कंपन्या औपचारिक कोड पुनरावलोकने वापरतात परंतु फक्त क्यूए सोडणार्‍या बग शोधण्याचा मार्ग म्हणून वापरतात?
स्त्रोत

सर्व दृष्टिकोनांमध्ये त्यांची गुणधर्म आणि कार्यकुशलता असते आणि कोणत्याही कोड पुनरावलोकन प्रक्रियेच्या यशाचा दर मोजणे सरळ नाही. बहुधा प्रत्येक संस्थेसाठी दीर्घ कालावधीसाठी हा चालू असणारा व्यायाम आहे. जरी आम्ही माइंडबोसर येथे पुनरावलोकनकर्त्याद्वारे केलेल्या अयोग्य टिप्पण्या, स्टाईलमध्ये घालवलेला वेळ, प्रकल्पाची नसलेली स्केलेबल आर्किटेक्चर आणि कोडच्या लांबी आणि सादरीकरणाकडे सामान्य दुर्लक्ष यासारख्या गोष्टींबरोबर संघर्ष केला. कार्यसंघाच्या विद्यमान प्रक्रियेसह स्वयंचलित कोड पुनरावलोकन साधन समाकलित करून आम्ही या समस्यांवर मात कशी केली. कोड पुनरावलोकन प्रक्रिया करण्यापूर्वी खूपच मॅन्युअल होते. आमचा कार्यसंघ एखाद्या विशिष्ट कार्यासाठी कोड लिहित असे आणि पुनरावलोकनासाठी सबमिट करीत असे. पुनरावलोकनकर्त्याने नियुक्त केलेल्या प्रकल्पातील शाखांमध्ये पुनरावलोकनासाठी असलेल्या सर्व कोडचे पुनरावलोकन केले. कोडने पुनरावलोकन यशस्वीरित्या पास केल्यासच, कोड अपस्ट्रीममध्ये विलीन झाला किंवा लाँच केला गेला. परंतु ही खूप वेळ घेणारी आणि अद्याप अपयशी-पद्धत नव्हती. म्हणूनच, आपल्या या अचूक समस्येवर आम्ही एक तोडगा बनविला. “कोडग्रीप”, जे एक स्वयंचलित कोड पुनरावलोकन साधन आहे जे आम्हाला विशिष्ट भाषेच्या मानकांवर आधारित कोडचे विश्लेषण करण्यास अनुमती देते. प्रत्येक कमिटवर स्वयंचलितपणे कोडचे पुनरावलोकन करण्यासाठी कोडरिपने आम्हाला आणखी एक स्तर जोडण्यास सक्षम केले.

या संपूर्ण व्यायामामुळे कोड पुनरावलोकनासाठी लागणारा वेळ मोठ्या प्रमाणात कमी झाला आणि एकूणच कोडची गुणवत्ता सुधारली. आता प्रत्येक पुल-विनंतीवर, पुनरावलोकनकर्ता कोडग्रीपद्वारे प्रदान केलेल्या विश्लेषणाचे आणि लेखकाने लिहिलेल्या कोडचे पुनरावलोकन करते. कोड केवळ पुनरावलोकन पास केल्यास अपस्ट्रीम विलीन करते. आमच्या पुनरावलोकन प्रक्रियेमध्ये स्वयंचलित कोड पुनरावलोकन साधन एम्बेड केल्याने आम्हाला वेळ वाचविण्याची आणि प्रकल्पाची मुख्य ओळ वाढविण्यापासून प्रतिबंधित करण्याची अनुमती दिली. सॉफ्टवेअर विकास प्रक्रियेदरम्यान उच्च दर्जाचे लक्ष्य असणे आवश्यक आहे.

कोड पुनरावलोकन प्रक्रिया सेट अप करताना अपेक्षित मानसिकता काय असावी?

पहिली पायरी म्हणजे पुनरावलोकनापूर्वीच लेखक त्यांचा कोड वाचत असावेत. ही कल्पना संघास देण्यापूर्वी लेखकाला त्यांचा कोड स्पष्ट करण्याची परवानगी देते. तर, त्याच्या कोडचे पुनरावलोकन करताना पुनरावलोकनकर्त्यास कमी समस्या आढळतात. कोडचे पुनरावलोकन केल्यापूर्वी किंवा नंतर अनेकदा लेखकाचे निरीक्षण केलेले आणि परिमाणात्मक उद्दीष्ट नसते. हे स्पष्ट ध्येय असल्यास त्यांच्या कोडसाठी लेखकांमध्ये जबाबदारी वाढेल. हे ध्येय निश्चित करण्यासाठी, प्रारंभ करण्याचा उत्तम मार्ग म्हणजे “अधिक बग निश्चित करणे” यासारख्या अस्पष्ट गोष्टी परिभाषित करण्याऐवजी सिद्ध मेट्रिसिससह. लेखकाने अनुसरण केलेले सर्व मानक मोजण्यासारखे असावेत. ही निरीक्षणे चांगली (सर्वोत्तम पद्धती) किंवा वाईट (केलेल्या चुका) संपूर्ण संस्थेमध्ये कोड पुनरावलोकन प्रक्रिया सुधारण्यात योगदान देऊ शकतात. योग्य किंवा मंद पुनरावलोकनासाठी पुरेसा कालावधीसाठी चांगल्या नियोजनासारखे बरेच फायदे आहेत. तर, संपूर्ण कार्यसंघाच्या उद्दीष्टांवर आणि सद्य स्थितीवर संरेखित केले आहे. ही सर्व निरीक्षणे, आवश्यकता, वापरकर्ता कथा आणि डिझाइन दस्तऐवजांसारख्या विकास कलाकृतींवर आढावा घेताना आपला संपूर्ण कार्यसंघा एखाद्या प्रकल्पाच्या अंतिम उद्दीष्टे समजेल याची खात्री करण्याचा एक चांगला मार्ग आहे. दोष शोधण्याबद्दल सकारात्मक दृष्टीकोन वाढविणे हे मॅनेजरवर अवलंबून आहे. कोड पुनरावलोकने सर्व कार्यसंघ सदस्यांना नवीन युक्त्या शिकण्यासाठी आणि क्षमता वाढवण्यासाठी वाईट सवयी सुधारण्याची संधी देतात. कार्यात्मक सत्यापनासाठी केलेला कोड पुनरावलोकन गुणवत्ता हेतूंसाठी केलेल्या कोड पुनरावलोकनापेक्षा भिन्न आहे. गुणवत्ता सुधारण्यासाठी केलेल्या कोड पुनरावलोकनमध्ये नेहमी नियुक्त केलेली स्वयंचलित कोड पुनरावलोकन प्रक्रिया असावी. हे गिटहब वर एक पुल-विनंती असू शकते, वेगळ्या पुनरावृत्ती चालू आहे, अ‍ॅटलासियनवरील महत्त्वपूर्ण पुनरावलोकन किंवा इतर अनेक साधनांची पुनरावलोकने असू शकतात.

लेखकाने पुनरावलोकन केलेला कोड सुधारित केला आणि सावधपणे पुनरावलोकन केले तर एक चांगले पुनरावलोकन आहे! त्याने किंवा तिला कोड वाचण्याची खात्री करणे आवश्यक आहे आणि तर्कशास्त्र आणि त्याचे सादरीकरण या दोन्ही गोष्टींवर लक्ष केंद्रित केले आहे, फक्त कोडमध्ये स्किम नाही. कोडचा आढावा घेताना प्रत्येक बदल घडवून आणण्याच्या कल्पनेने ते हातात हात घालून जातात, म्हणून पुढच्या वेळेस त्याच चुका होणार नाहीत. “पॅच / अपडेट / संवर्धन” चे पुनरावलोकन करणे देखील वास्तविक उत्पादन संकेताइतकेच महत्वाचे आहे. अशा प्रकारचे पॅचेस आणि वर्कराऊंड किती वेळा ते उत्पादनामध्ये बनवतात आणि त्याऐवजी प्रकल्प कोडसाठी योग्य लॉजिक बनतात हे धक्कादायक असू शकते.

दस्तऐवजीकरण / आवश्यकतांचे परीक्षण करणे, चाचणी प्रकरणे आणि अंगभूत फायली तितकेच महत्त्वाचे आहेत. या कागदपत्रांचा आढावा घेताना ते असावेत.

  • कार्यात्मक.
  • स्वच्छ आणि देखभाल करण्यायोग्य.
  • ऑप्टिमाइझ केलेले.

पुनरावलोकन करणे भयभीत होऊ शकते, म्हणून हे लक्षात ठेवण्यास मदत करते की पुनरावलोकनकर्ता परिपूर्ण नाहीत! समिक्षकांकडे मुद्दे घसरतात आणि बग शोधण्यापासून बचावू शकतात, कामगिरीतील दोषांमुळे ते उत्पादनास येऊ शकतात. म्हणून कोड पुनरावलोकन प्रक्रियेमध्ये अनेक स्तर जोडणे हा नेहमीच जाण्याचा मार्ग असतो.

आम्ही टीम-बिल्डिंग क्रियाकलाप म्हणून नेहमी कोड पुनरावलोकन वापरतो ज्याने प्रक्षेपणपूर्वी आम्हाला दोष शोधण्यात मदत केली आणि प्रक्षेपण दरम्यान आमची एकूण सॉफ्टवेअर गुणवत्ता सुधारली. प्रत्येक दिवशी काही प्रमाणात कोडचे पुनरावलोकन करणे मी सुचवितो, जरी प्रत्येक ओळ योग्य नसली तरी.

पुनरावलोकन प्रक्रियेमध्ये नेहमीच पुनरावलोकन सत्रांमध्ये ब्रेक असावेत जेणेकरुन अविरत कोड पुनरावलोकने संघाचा भार मोडू नये. आणखी कार्यक्षमतेसाठी आणि अचूकतेसाठी स्वयंचलित कोड पुनरावलोकन साधनाची अंमलबजावणी केल्याने कोड पुनरावलोकनांवर वेळ घालवणा teams्या टीमचे अनुकूलन करण्यात मदत होते. दोष कायम आहेत हे आपण सत्यापित केले पाहिजे. आणि शेवटी, एक चेकलिस्ट ठेवणे दोन्ही लेखक आणि पुनरावलोकनकर्त्यांसाठी परिणामांमध्ये मोठ्या प्रमाणात सुधारणा करते. सूचीचा वापर केल्याने पुनरावलोकनकर्त्याला तसेच लेखकाला कोड पुनरावलोकनादरम्यान गहाळ झालेली काहीतरी शोधण्यासाठी तसेच त्यांच्या कोडिंग कौशल्यांमध्ये सुधारण्यात मदत करण्याची वेळ येईल.

आमच्यासाठी सर्वोत्कृष्ट कार्य करते कोड पुनरावलोकन प्रक्रिया सेट अप करताना आमची निरीक्षणे

आमच्या विद्यमान मॅन्युअल कोड पुनरावलोकन प्रक्रियेमध्ये स्वयंचलित कोड पुनरावलोकन साधनाची अंमलबजावणी केल्यामुळे आम्हाला माइंडबोसरमधील सॉफ्टवेअर डेव्हलपमेंटची एकंदर प्रक्रिया वाढविण्याची परवानगी मिळाली. आम्हाला पाइपलाइनमधील सर्व प्रकल्पांसाठी वेळ योजना करण्याची परवानगी दिली. स्वयंचलित कोड पुनरावलोकन साधन असण्यामुळे आमच्या कार्यसंघास उत्कृष्ट कामांमध्ये सहयोग आणि सहयोग करण्यास मदत केली. संघातील नवीन सदस्यांनीदेखील त्यापूर्वी वेगवान पद्धतीने शिकण्यास सुरवात केली आणि एकूणच कोडच्या गुणवत्तेत तीव्र फरक जाणवला. आम्हाला एकाच वेळी जोखीम आणि खर्च मर्यादित करण्यास मदत करणे.