উচ্চ-স্তরের নিয়ন্ত্রণ প্রবাহ নির্মাণগুলি সমস্যা ডোমেনের ধারণাগুলির সাথে মিলে যায়। একটি যদি / অন্য কোনও শর্তের ভিত্তিতে সিদ্ধান্ত হয়। একটি লুপ বারবার কিছু ক্রিয়া সম্পাদন করতে বলে। এমনকি একটি বিরতি বিবৃতিতে বলা হয়েছে "আমরা এটি বারবার করছিলাম, তবে এখন আমাদের থামানো দরকার"।
অন্যদিকে, একটি গেটো স্টেটমেন্টটি চলমান প্রোগ্রামে কোনও ধারণার সাথে মিল রাখে, সমস্যা ডোমেনে নয়। এটি প্রোগ্রামের একটি নির্দিষ্ট সময়ে কার্যকর করা চালিয়ে যেতে বলেছে । কোডটি পড়ার জন্য কারও কাছে এই সমস্যাটির ডোমেনের ক্ষেত্রে কী বোঝাতে হবে তা নির্ধারণ করতে হবে।
অবশ্যই সমস্ত উচ্চ-স্তরের কনস্ট্রাক্টসগুলি গোটোস এবং সাধারণ শর্তসাপেক্ষ শাখাগুলির ক্ষেত্রে সংজ্ঞায়িত করা যায়। এর অর্থ এই নয় যে তারা কেবল ছদ্মবেশে ছদ্মবেশী। এগুলিকে সীমাবদ্ধ গোটো হিসাবে ভাবেন - এবং এই সীমাবদ্ধতাগুলি তাদের কার্যকর করে তোলে। একটি ব্রেক স্টেটমেন্টটি ঘেরযুক্ত লুপের শেষের দিকে লাফ হিসাবে প্রয়োগ করা হয়, তবে সামগ্রিকভাবে লুপটিতে অপারেটিং হিসাবে কাজ করা ভাল thought
সমস্ত কিছুই সমান, কোড যার কাঠামো সমস্যার ডোমেনটির প্রতিফলন করে তা পড়া এবং বজায় রাখা আরও সহজ হতে থাকে।
এমন কোনও ক্ষেত্রে নেই যেখানে গোটো স্টেটমেন্টটি একেবারেই প্রয়োজন ( এটির জন্য একটি উপপাদ্য রয়েছে ), তবে এমন ঘটনাও রয়েছে যেখানে এটি সর্বনিম্ন খারাপ সমাধান হতে পারে। উচ্চ-স্তরের ভাষাটি কী সমর্থন করে তা নির্ভর করে এই ক্ষেত্রেগুলি ভাষা থেকে আলাদা হয়ে যায় depending
সিতে, উদাহরণস্বরূপ, আমি বিশ্বাস করি যে তিনটি প্রাথমিক পরিস্থিতি রয়েছে যেখানে একটি গোটো উপযুক্ত a
- নেস্টেড লুপ থেকে ব্রেকিং। ভাষাটির একটি লেবেল বিরতির বিবৃতি থাকলে এটি অপ্রয়োজনীয় হবে।
- কোনও ত্রুটি বা অন্যান্য অপ্রত্যাশিত ইভেন্টের ক্ষেত্রে কোডের প্রসার (সাধারণত একটি ফাংশন বডি) এর বাইরে জামিন দেওয়া। ভাষাটির ব্যতিক্রম থাকলে এটি অপ্রয়োজনীয় হবে।
- একটি স্পষ্ট সীমাবদ্ধ রাষ্ট্র মেশিন বাস্তবায়ন করা হচ্ছে। এক্ষেত্রে (এবং, আমি মনে করি, কেবলমাত্র এই ক্ষেত্রে) সমস্যাটি ডোমেনের একটি ধারণার সাথে একটি গোটো সরাসরি সম্পর্কিত হয়, একটি রাজ্য থেকে নির্দিষ্ট অন্য রাজ্যে স্থানান্তরিত হয়, যেখানে বর্তমান রাষ্ট্রটি বর্তমানে কোন কোডের ব্লকটি কার্যকর করছে তার প্রতিনিধিত্ব করে ।
অন্যদিকে, একটি স্পষ্ট সসীম রাষ্ট্র মেশিনটি একটি লুপের অভ্যন্তরে একটি স্যুইচ বিবৃতি দিয়েও প্রয়োগ করা যেতে পারে। এর সুবিধা রয়েছে যে প্রতিটি রাজ্য কোডে একই স্থানে শুরু হয় যা উদাহরণস্বরূপ, ডিবাগিংয়ের জন্য কার্যকর হতে পারে।
যুক্তিসঙ্গতভাবে আধুনিক ভাষায় গোটোর মূল ব্যবহার (এটি যদি / অন্য এবং লুপগুলি সমর্থন করে) ভাষা থেকে অনুপস্থিত একটি নিয়ন্ত্রণ ফ্লো কনস্ট্রাক্ট অনুকরণ করে।