फ़्लोचारिंग और विधि कॉल


11

मैं कुछ फ्लो चार्ट कर रहा हूं और सोच रहा हूं कि क्या मैं इसे सही तरीके से समझ रहा हूं। संक्षेप में, मेरे पास कई विधि कॉल हैं और मैं प्रत्येक को अलग-अलग प्रवाहित कर रहा हूं। हालाँकि, इनमें से कई तरीके कुछ जानकारी के लिए एक विधि कॉल करते हैं और फिर जारी रखते हैं। इस उदाहरण को देखें:

यहाँ छवि विवरण दर्ज करें

मेरे पास 3 अन्य विधियां हैं, जो गेटक्यूयू () भी कहती हैं और अगर मैं सही ढंग से इसका प्रतिनिधित्व कर रहा हूं तो मुझे आश्चर्य हो रहा है। AddQueue () प्रवाह नेत्रहीन रूप से ऐसा लगता है कि यह टूट गया है।

नोट: मेरे फ़्लोचार्ट में किए गए परिवर्तन:

यहाँ छवि विवरण दर्ज करें


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

इससे पहले कि मैं किसी अन्य ग्राहक के लिए आगे बढ़ूं, यह मुझसे अनुरोध किया गया था।
कीथ बैरो

@ रोबर्ट हार्वे: फ़्लोचार्ट पुराने दिनों में उपयोगी थे, जब लोग सीधे मशीन या असेंबलर कोड लिखते थे। वे प्रारंभिक फोरट्रान और बुनियादी प्रोग्रामर के लिए उपयोगी हो सकते हैं, जिनके पास नियंत्रण संरचनाओं का एक अच्छा सरणी नहीं था। आजकल, ठीक है, केवल यही कारण है कि मैं उन्हें करूँगा अगर एक ग्राहक उन्हें एक वितरण योग्य के रूप में चाहता था और मुझे पर्याप्त रूप से भुगतान करने के लिए तैयार था।
डेविड थॉर्नले

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

मैं अभी भी कभी-कभी फ़्लोचार्ट का उपयोग करता हूं, हालांकि मुझे लगता है कि यूनिट टेस्ट अक्सर एक ही उद्देश्य के लिए बेहतर होते हैं। वे डिलिवरेबल्स नहीं हैं, हालांकि; मैं अपने सिर में एक नियंत्रण प्रवाह प्राप्त करने के लिए उनका उपयोग करता हूं।
माइकल के

जवाबों:



2

मैंने हाल ही में कुछ फ्लो-चार्टिंग की है और उसी मुद्दे के साथ संघर्ष किया है कि कैसे सबरूटीन कॉल प्रस्तुत करें, या शायद विधि- और फ़ंक्शन को कॉल करें क्योंकि आप इन दिनों उन्हें कॉल कर सकते हैं।

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

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

इससे आयतों की संख्या बढ़ जाती है, लेकिन यह स्पष्ट कर देता है कि उन अन्य फ़्लोचार्ट में से कुछ तथाकथित कार्यों की परिभाषा को देखने के लिए मौजूद हैं। अक्सर यदि कोई फ़ंक्शन सरल होता है, तो मैं इसके लिए एक अलग आरेख नहीं बनाऊंगा, लेकिन सिर्फ मौखिक रूप से दस्तावेज़ित करूंगा।

मैं "दस्तावेज़" प्रतीक का उपयोग यह कहने के लिए भी करता हूं कि विवरण को कोड-लिस्टिंग से देखा जाना चाहिए।

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

फ्लोचार्ट को उच्च-स्तर पर रखने का अर्थ यह भी है कि कोड संशोधित होने के साथ-साथ उन्हें अद्यतित रखने की कम आवश्यकता है।

वे चित्र हैं। किसी भी अच्छी कहानी की तरह सॉफ्टवेयर प्रलेखन में भी चित्र होने चाहिए जो कोड के लिए एक वैकल्पिक दृष्टिकोण प्रदान करते हैं।

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