2010-10-30 17 views
5

क्या आप उन तकनीकों में अंतर्दृष्टि प्रदान कर सकते हैं जिनका उपयोग आप अपने समाधान की गुणवत्ता सुनिश्चित करने के लिए करते हैं। उदाहरण के लिए, कभी-कभी, मुझे यह सुनिश्चित करने के लिए stopifnot() का उपयोग करके अपने परिणाम का परीक्षण करना पसंद है कि मुझे हास्यास्पद परिणाम नहीं मिल रहे हैं। क्या कोई अन्य तकनीक या कार्य है जो आप डेटा प्रोसेसिंग में उपयोग करते हैं ताकि आप यह सुनिश्चित कर सकें कि आप जिस समाधान का मतलब प्राप्त कर रहे हैं?आर गुणवत्ता आश्वासन तकनीक

नोट: मुझे एहसास है कि यह एक व्यापक प्रश्न है और शायद समुदाय विकी या यहां तक ​​कि बंद करने के लिए एक उम्मीदवार है, लेकिन बंद करने के बजाय मतदान करने के बजाय, शायद बातचीत को निर्देशित करने के लिए टिप्पणियां जोड़कर मेरी सहायता करें।

+0

क्या आपका मतलब है कि आर में पैकेज विकसित करना या डेटा विश्लेषण समस्याओं के लिए * विज्ञापन * समाधान। एक पैकेज में आपके पास '।/Test' निर्देशिका हो सकती है जिसमें परीक्षण होते हैं जो अपेक्षित परिणामों के विरुद्ध आपके वर्तमान कोड का परीक्षण करते हैं - 'stopifnot()' का व्यापक रूप से उपयोग किया जाता है। –

+0

@ucfagls विज्ञापन, आमतौर पर। मैं जरूरी नहीं कि पैकेज बनाऊं बल्कि अपनी समस्याओं को हल करने/मेरे सवालों के जवाब देने के लिए स्क्रिप्ट बनाएं। –

उत्तर

3

बस कुछ चीजें हैं जो (यादृच्छिक क्रम में) मन के लिए आते हैं

  • This page आर में डीबगिंग के लिए बहुत ही दिलचस्प लिंक (ठीक इस उत्पादन के दौरान है, लेकिन अभी भी अपने मुद्दे से संबंधित मुझे लगता है कि)

    है
  • आप, अपवाद के रूप में उपयोग कर सकते हैं in this discussions समझाया (और लिंक उसमें)

  • आप ज्ञात परिणाम (दोनों सफलता और विफलता के लिए) के साथ परीक्षण लिख सकते हैं और देखते हैं कि वे वास्तव में कर उन्हें क्या करना है। कुछ अजीब डेटा को कार्यों में पास करना सुनिश्चित करें और देखें कि वे "सामान्य" स्थिति में कैसे व्यवहार करते हैं।

  • केवल स्वचालित परीक्षणों पर भरोसा न करें: अपने कार्यों को काम पर एक बिल्कुल कंप्यूटर अशिक्षित व्यक्ति को दें (पर्याप्त नहीं है कि वह आर का उपयोग नहीं कर सकता है!) और उसे कुछ बीटा परीक्षण करने दें। आप उन त्रुटियों की मात्रा पर चकित होंगे जिनके साथ वह आएगा !!! :)

3

Quality in software engineering काफी बड़े पैमाने पर क्षेत्र है, और इसमें से अधिकांश तो मेरा पहला जवाब होगा 'यह निर्भर करता है' कोबोल या सी # में लिखे कोड के रूप में के रूप में ज्यादा आर में लिखे कोड पर लागू होता है,।

मेरे लिए, मैं फार्मास्युटिकल उद्योग से आया हूं, जहां हम एफडीए और एमएचआरए जैसी सरकारी एजेंसियों द्वारा नियंत्रित करते हैं।हमारे लिए, गुणवत्ता कुछ ऐसी प्रक्रिया है जो हम पूरे प्रक्रिया के बारे में सोचते हैं, इसलिए मैं गुणवत्ता की दृश्यमान कलाकृतियों के रूप में निम्नलिखित सूचीबद्ध करूंगा;

  • हम एक सॉफ्टवेयर विकास प्रक्रिया है, कि नीचे लिखा है और repeatable (पारंपरिक रूप से उद्योग के इस प्रकार यह एक waterfall style है, लेकिन अधिक से अधिक agile/prototyping style के तरीके का इस्तेमाल किया जा रहा है)
  • हम एक प्रणाली है कि हर सुनिश्चित करता है शामिल व्यक्ति जानता है कि वे क्या कर किया जाना चाहिए (नौकरी विवरण) और उपयुक्त है कि काम करने के लिए योग्य है (प्रशिक्षण)
  • हम को परिभाषित करने के लिए क्या किसी तरह की आवश्यकता है, उम्मीद है कि किसी तरह कि
  • हम परीक्षण किया जा सकता में से शुरू हमारी विकास प्रक्रिया को दस्तावेज करने का कुछ तरीका, जहां हम हैं और कैसे (अच्छा प्रलेखन का एक संयोजन और Source Control)
  • हम परीक्षण करते हैं जहां भी संभव हो, और जितनी जल्दी हो सके (हां, तो automated संभव हो तो)
  • हम people जो जो लोगों से अलग हैं गुणवत्ता की निगरानी के लिए जिम्मेदार हैं, है जो विवादों को रोकने के लिए कर रहे हैं
  • हम विकास, परीक्षण और उत्पादन (पढ़ने के लिए उपयोग किए जाने वाले सॉफ़्टवेयर वातावरण को नियंत्रित करते हैं; change control)
  • हम को नियंत्रित करने और सॉफ्टवेयर का प्रबंधन एक बार यह उपयोग में है, पर नज़र रखने के मुद्दों और उन्हें प्रबंधित (Issue Tracking)
  • हम, रिकॉर्ड रखने इसलिए भले ही शामिल हर व्यक्ति एक बस के नीचे चला गया है कि/लॉटरी नए लोगों से कर सकते थे जीता अभी भी एक सरकारी निरीक्षक को उपरोक्त सबकुछ की रक्षा और साबित करें।

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

अधिक विशेष रूप से जो मुझे लगता है कि आप प्राप्त कर रहे हैं, इससे पहले कि आप कुछ विशिष्ट प्रारंभिक इनपुट और जवाबों को परिभाषित करने में सक्षम होना चाहिए, और मैं आपको RUnit या Testthat जैसे कुछ का उपयोग करने की सलाह देता हूं में

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