মূল ফাংশনটি তার নিজস্ব ফাইলে আলাদা রাখা কি ভাল অনুশীলন?


14

একটি মূল.কেন ফাইল থাকা কি ভাল অভ্যাস যা কেবলমাত্র এতে মূল ফাংশন রয়েছে এবং অন্য কোনও ফাংশন যাতে অন্যান্য সমস্ত ফাংশন ইন্টারফেস করা যায়?

যদি কোনও নির্দিষ্ট নিয়ম না থাকে তবে কখন তা করা ভাল এবং কখনই না করা ভাল?

উত্তর:


15

আদর্শভাবে, সমস্ত কাজ যা পুনরায় ব্যবহারযোগ্য কোডের অংশ হিসাবে ভাবা যেতে পারে, এটি গ্রন্থাগার আকারে তৈরি করা উচিত । ভারসাম্য কাজ, অ্যাপ্লিকেশন যা পৃথক হওয়া উচিত যেখানে main()থাকবেন where

তবে main()একা একা বসে থাকতে হবে না। এর মতো ক্রিয়াকলাপগুলি parse_arguments(argc,argv) মূলটির সাথে থাকা উচিত তবে পৃথক হবে।


7

আমাদের কোডিং স্ট্যান্ডার্ডটির প্রয়োজন হয় যে মেইন () মেইন সি.কে. মেন।

একটি উত্তম নিয়মটি হ'ল যখন কোনও ফানসিওন চলমান অ্যাপ্লিকেশনটিকে সমর্থন করা এবং ব্যবসায়িক যুক্তি করা শুরু করার চেয়ে আরও বেশি কিছু করা শুরু করে, তখন সময়টি মূল মেইনটির বাইরে ছিল .c


4

থাম্বের দুটি নিয়ম রয়েছে:

  1. আপনার কোথায় মূল () লুকিয়ে আছে তা পাঠকের কাছে অবাক হওয়ার দরকার নেই।
  2. প্রধান () এ অপ্রাসঙ্গিক বিশৃঙ্খলা থাকতে হবে না।

কোডিং স্ট্যান্ডার্ড বাস্তবায়নের জন্য উল্লেখ করা হয় যে মেইন () সর্বদা মেইন.সি নামক একটি ফাইলে থাকা উচিত ভাল এবং সাধারণ উভয় অনুশীলন। এই ফাইলটি পাশাপাশি মূল () নিজেই অপ্রয়োজনীয় বিশৃঙ্খলা থাকতে হবে না।

আদর্শভাবে প্রধান () এবং মেইন.সি.তে কেবল নিম্নলিখিতটি থাকা উচিত

  • প্রোগ্রাম-ওয়াইড হেডার ফাইলগুলি অন্তর্ভুক্ত।
  • আরগভি, আরজিসি-র আর্গুমেন্ট পার্সিং কোড।
  • হোস্টলেস সিস্টেমে: সমালোচনামূলক রেজিস্টার সেটআপ, স্ট্যাক পয়েন্টার সেটআপ ইত্যাদি etc. তবে কেবলমাত্র যদি প্রধান () হয় তবে প্রোগ্রামটির প্রবেশের প্রথম পয়েন্ট point
  • ওএস শুরু করার জন্য কল, বা প্রোগ্রামটির স্টেট মেশিনে কল করা একটি লুপ বা হোস্ট করা ডেস্কটপ সিস্টেমে মূল জিইউআই থ্রেডের সাথে সম্পর্কিত উইন্ডো তৈরি এবং প্রারম্ভিককরণ।
  • অভ্যন্তরীণ (স্ট্যাটিক) ফাংশন যা উপরের যেকোনটি পরিচালনা করে মূল () থেকে ডাকা হয়।
  • একটি হোস্ট করা সিস্টেমে: 0 ফিরে আসুন।

1

একটি পৃথক ফাইলে একটি পরিষ্কার এন্ট্রি পয়েন্ট কোড প্রবাহকে সহজেই বোঝা ও বজায় রাখে। আমার সবসময়ই খুব ছোট এবং সংক্ষিপ্ত প্রধান () ফাংশনটি অন্য কোনও ফাইলে রাখার অভ্যাস ছিল যা থেকে আমি প্রোগ্রামের ধাপগুলি সনাক্ত করতে পারি। শুধু পরিষ্কারের স্বার্থে এটি আলাদা রাখা ভাল separate

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.