2009-09-21 5 views
8

डेवलपर्स पर मँडरा और सभी निर्णय वे/कोड वे उत्पादन, वास्तु विकल्प की तरह, बड़े पैमाने पर codefiles (5k एलओसी) बनाने के सवाल, कोई कोडगलत निर्णय/खराब कोड बनाने वाले (जूनियर) डेवलपर्स को कैसे रोकें?

टिप्पणी या दस्तावेज, आदि की कमी मैं कुछ की जांच में उपयोग कर रहा हूँ TFS 2005 में नीतियां जैसे परिवर्तन परिवर्तन नीति, कार्यवाही, नियमित कोड समीक्षा।

आपकी कंपनी में सबसे अच्छा क्या काम करता है?

अब तक:

  • कोड समीक्षा (सबसे) के द्वारा
  • सलाह/अध्यापन
  • जोड़ी प्रोग्रामिंग

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

+10

ध्यान रखें: एक कारण है कि कुछ डेवलपर दूसरों की तुलना में अधिक महंगी हैं। यदि आपको अपना आवेदन लिखने के लिए सस्ते डेवलपर्स का एक गुच्छा मिलता है, तो यह दिखाएगा। आम तौर पर, आप अपने वरिष्ठ डेवलपर्स को एप्लिकेशन के आर्किटेक्चर को डिज़ाइन करना चाहते हैं, और जूनियर डेवलपर्स को थकाऊ-लेकिन-सरल भागों को लिखने दें। IMO। – jrockway

+3

अच्छे जूनियर डेवलपर्स को ढूंढना संभव है, लेकिन आपको यह देखना होगा कि वे आर्किटेक्चर पर उन्हें कोई जिम्मेदारियां देने से पहले कोड कैसे देखते हैं। एक जूनियर देव के रूप में, मैं हमेशा एक महत्वपूर्ण पसंद को दोबारा जांचने के लिए एक वरिष्ठ देवता प्राप्त करता हूं जो मैं कर रहा हूं। इस तरह आप सीखते हैं। – marcgg

+0

एक जूनियर डेवलपर आर्किटेक्चरल फैसले क्यों कर रहा है? (या क्या आपका मतलब डिजाइन था जैसे क्रमबद्ध std :: वेक्टर बनाम std :: set?) डिज़ाइन समीक्षा होने पर कक्षा कोड फ़ाइल 5k कैसे हो सकती है? क्या कोई दस्तावेज नहीं है क्योंकि डिज़ाइन समीक्षा के लिए कोई भी आवश्यक नहीं था? (क्योंकि कोई डिज़ाइन समीक्षा नहीं थी?) मुझे लगता है कि वहां कुछ ऐसा होना चाहिए जो कक्षाओं के पहले कुछ स्तरों को उनके प्रमुख सार्वजनिक तरीकों को परिभाषित करता है और यह सब एक साथ कैसे लटकता है। यदि आप ऐसा नहीं करते हैं तो कुछ जो आपने समझा है, वह ऐसा करने का नतीजा नहीं है। "इसे करने" कॉफी कमरे में व्हाइटबोर्ड पर हो सकता है। – pgast

उत्तर

22

Code reviews


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

इस here on SO, take a look के बारे में बहुत सारी पोस्ट हैं!

+0

हम्म .. यह वास्तविक प्रबंधन की तरह लगता है। –

+2

कोड समीक्षा बहुत अच्छी हैं, जब तक वे "आलोचक/whine-fests" बन नहीं जाते हैं। सुनिश्चित करें कि आपके पास कोई ऐसा व्यक्ति है जो समीक्षा के अग्रणी इस प्रकार की "प्रतिक्रिया" को बंद करने के इच्छुक है। – JasCav

+0

यह सच है। प्रश्न http://stackoverflow.com/questions/89163/how-to-conduct-a- असफल-code-review में कोड समीक्षा – marcgg

1

उन्हें लाभ सिखाएं। मुझे यकीन है कि कोड समीक्षा भी मदद करेगी। साथ ही, उन्हें अपनी गलतियों से सीखने दें।

5

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

1

जब आपकी परियोजनाओं के लिए टाइमकैल्स का अनुमान लगाया जाता है तो आपकी विकास टीम के अनुभव की अनुमति मिलती है। उन्हें गलतियां करने दें, उन्हें सुधारें और इससे सीखें।

+0

7 व्यक्ति देवताम के भीतर जूनियर को सीखने के लिए आप किस प्रतिशत की अनुमति देंगे? –

+0

कितने तेज़ लोग अत्यधिक चर सीखते हैं या काम करते हैं - आपको कंबल आकृति डालने के बजाए उन्हें जानना होगा। –

8

क्यों रोकें? यह महत्वपूर्ण जूनियर डेवलपर अपनी गलतियों को सीखने के लिए तैयार करेंगे। वास्तव में आप जो चाहते हैं वह इन गलतियों को गंभीर प्रभाव से रोकने का एक तरीका है और यह आमतौर पर कठोर कोड समीक्षा के बावजूद अचूक है।

2

कोड समीक्षा (जैसा कि मार्केग द्वारा उल्लिखित), परामर्श, अधिक अनुभवी कर्मचारियों, प्रशिक्षण के साथ जोड़ना।

उन्हें सीखने और यहां तक ​​कि गलतियां करने का मौका दें, लेकिन इस तरह वे समर्थित महसूस करते हैं।

+0

प्रति व्यक्ति औसत पर सलाह देने पर आप कितनी बार (आर कंपनी) खर्च करेंगे? –

+0

मेरे पास प्रतिशत नहीं है लेकिन यह बहुत महत्वपूर्ण है। हर कोई अनुभवी डेवलपर्स सहित सीखता है। आप उन्हें सीखने के लिए खुद को समय दे सकते हैं। मैं अपनी टीम को इस सप्ताह के लिए सप्ताह में 4 घंटे देता हूं। – klabranche

9

आप प्रोग्रामिंग की कोशिश कर सकते हैं।

जूनियर देव को किसी और वरिष्ठ के साथ जोड़ता है, जो कोड के मुद्दों के साथ-साथ अपने नए घर की संस्कृति, मानकों आदि में नौसिखिया "indoctrinated" प्राप्त करने में मदद करेगा।

+0

ने अभी तक यह प्रयास नहीं किया है (हालांकि नियमित पैमाने पर नहीं)। –

3

प्रति व्यक्ति औसत पर सलाह देने पर आप कितनी बार खर्च करेंगे?

  • 3-6 घंटे उनके पहले दिन (सॉफ्टवेयर/उत्पाद का परिचय)। अगले सप्ताह या दो के लिए
  • प्रति दिन 1-2 घंटे (सवालों का जवाब)।
  • उसके बाद 2-4 घंटे प्रति सप्ताह (कोड समीक्षा) उसके बाद, अगले महीनों के लिए।
+2

आपको लगता है कि कोड समीक्षा कुछ बिंदु पर रुकनी चाहिए। मैं दृढ़ता से असहमत हूँ। कोड समीक्षा हमेशा के लिए, हमेशा के लिए जारी रहना चाहिए। हां, इसका मतलब है कि वरिष्ठ गुरु या जो कुछ भी उनके नौकरी का शीर्षक है। –

+0

जब मैं किसी व्यक्ति के काम पर टिप्पणी करने के लिए बग या कुछ और ढूंढना बंद करता हूं तो मैं कोड समीक्षा करना बंद कर दूंगा। – ChrisW

+2

@ChrisW - दूसरे शब्दों में आप कभी भी समीक्षा करने वाले कोड को रोक नहीं पाएंगे –

1

FxCop चेक-इन नीतियों और/या निरंतर एकीकरण के साथ उपयोग किया जा सकता है। हालांकि मैन्युअल कोड समीक्षा और सलाह देने के लिए यह कोई विकल्प नहीं है।

3

Code Complete की एक प्रति प्राप्त करें और प्रत्येक जूनियर डेवलपर को प्रतिदिन कम से कम एक घंटे खर्च करने के लिए बताएं।

नहीं, इससे भी बेहतर, सभी डेवलपर्स के लिए ऐसा करें।

2

कुछ बात है जो आप अच्छा कोडन अभ्यास लागू करने के लिए क्या कर सकते हैं

  • नियमित कोड की समीक्षा
  • (ReSharper या यदि संभव हो तो किसी भी अन्य) (.net के लिए) विशिष्ट टेम्पलेट्स के
  • उपयोग की तरह
  • उपकरण उपयोग कोडिंग के लिए (मार्गदर्शन पैकेज का हिस्सा बन सकता है)
  • FxCop/stylecop (आपकी आवश्यकता को सुइट करने के लिए कस्टम) का उपयोग (.net के लिए)।
  • टीएफएस चेक-इन नीतियां (आपकी आवश्यकता के अनुसार कस्टम चेक-इन नीति सहित)। एक उदाहरण यहां पाया जा सकता है TFS Custom Check-In policy
  • यूआई, वेब, स्क्रिप्टिंग, प्रदर्शन, अपवाद हैंडलिंग और अन्य क्षेत्रों जैसे बेहतर क्षेत्रों में बेहतर कोडिंग प्रथाओं का आवधिक प्रशिक्षण जो आपके लिए महत्वपूर्ण प्रतीत हो सकता है।

लेकिन सबसे महत्वपूर्ण हिस्सा वरिष्ठ तकनीक द्वारा आवधिक समीक्षा है। टीम के सदस्य उदाहरण के लिए नेतृत्व करने के लिए आप कुछ महत्वपूर्ण मॉड्यूल के लिए सहकर्मी प्रोग्रामिंग भी कर सकते हैं।

टीम के सदस्यों का आग्रह 'के सदस्यों द्वारा की सिफारिश की कुछ पुस्तकें पढ़ने के लिए What development book made the most impact on you as a developer?

कुछ तत्काल पुस्तक है कि मेरे दिमाग में आता है

alt text http://images.amazon.com/images/P/0735619670.01._SX140_SY225_SCLZZZZZZZ_.jpg alt text http://images.amazon.com/images/P/0132350882.01._SX140_SY225_SCLZZZZZZZ_.jpg alt text http://images.amazon.com/images/P/0131857258.01._SX140_SY225_SCLZZZZZZZ_.jpg alt text http://assets3.pragprog.com/images/covers/190x228/pad.jpg

उन्हें बनाओ अच्छी प्रथाओं को बार-बार पढ़ें ताकि यह आदत बन जाए।

ये सिर्फ मेरे विचार हैं :) जिनमें से कुछ मैं अपने वर्तमान दिन-प्रतिदिन काम में नियोजित हूं।

+0

मैं इन पुस्तकों, थेंक्स पर एक नज़र डालेगा –

संबंधित मुद्दे