প্রোগ্রামিংয়ের মৌলিক ধারণা/প্রোগ্রামের গুণমান
অবয়ব
সারসংক্ষেপ
[সম্পাদনা]প্রোগ্রামের গুণমান বলতে একটি প্রোগ্রামের সোর্স কোড ও এক্সিকিউটেবল কোডের মৌলিক বৈশিষ্ট্যকে বোঝায়, যার মধ্যে রয়েছে নির্ভরযোগ্যতা, দৃঢ়তা, ব্যবহারযোগ্যতা, পরিবাহ্যতা, রক্ষণাবেক্ষণযোগ্যতা, দক্ষতা এবং পাঠযোগ্যতা।
আলোচনা
[সম্পাদনা]উন্নয়নের পদ্ধতি যাই হোক না কেন, সমাপ্ত প্রোগ্রামটির নিম্নলিখিত বৈশিষ্ট্যগুলোতে ভালো পারদর্শিতা প্রদর্শন করা উচিত:
- নির্ভরযোগ্যতা: প্রোগ্রামটি কতবার সঠিক ফলাফল প্রদান করে। এটি অ্যালগরিদমের ধারণাগত সঠিকতা এবং প্রোগ্রামিং ত্রুটিগুলো (যেমন—সম্পদ ব্যবস্থাপনায় ভুল [উদাহরণ: বাফারের সীমা অতিক্রম বা রেস কন্ডিশন] এবং যুক্তিগত ত্রুটি [উদাহরণ: শূন্য দ্বারা বিভাজন বা অফ-বাই-ওয়ান ত্রুটি]) কমানোর উপর নির্ভর করে।
- দৃঢ়তা: প্রোগ্রামটি ত্রুটিজনিত সমস্যাগুলো (বাগ নয়) কতটুকু ভালোভাবে প্রত্যাশা করে। এটির মধ্যে অন্তর্ভুক্ত—ভুল, অনুপযুক্ত বা দূষিত ডেটা; মেমোরি, অপারেটিং সিস্টেম পরিষেবা, নেটওয়ার্ক সংযোগের অভাব; ব্যবহারকারীর ভুল; এবং অপ্রত্যাশিত বিদ্যুৎ বিচ্ছিন্নতার মতো পরিস্থিতি।
- ব্যবহারযোগ্যতা: একটি প্রোগ্রামের ইরগোনমিক্স, অর্থাৎ একজন ব্যক্তি কতটা সহজে প্রোগ্রামটিকে এর অভীষ্ট উদ্দেশ্যে বা এমনকি অপ্রত্যাশিত উদ্দেশ্যে ব্যবহার করতে পারে। ব্যবহারকারী ইন্টারফেসের স্বচ্ছতা, স্বজ্ঞাততা, সংহতি এবং সম্পূর্ণতা নিশ্চিত করতে টেক্সচুয়াল, গ্রাফিক্যাল এবং কখনও কখনও হার্ডওয়্যার উপাদানগুলোর সমন্বয় প্রয়োজন।
- পরিবাহ্যতা: কম্পিউটার হার্ডওয়্যার ও অপারেটিং সিস্টেম প্ল্যাটফর্মের পরিসর যেখানে প্রোগ্রামের সোর্স কোড কম্পাইল/ইন্টারপ্রেট ও রান করা যায়। এটি বিভিন্ন প্ল্যাটফর্মের প্রোগ্রামিং সুবিধার পার্থক্যের উপর নির্ভর করে, যেমন—হার্ডওয়্যার ও অপারেটিং সিস্টেম সম্পদ, প্ল্যাটফর্ম-নির্দিষ্ট কম্পাইলার বা লাইব্রেরির প্রাপ্যতা।
- রক্ষণাবেক্ষণযোগ্যতা: বর্তমান বা ভবিষ্যত ডেভেলপারদের দ্বারা প্রোগ্রামটিকে উন্নত করা, কাস্টমাইজ করা, বাগ বা সুরক্ষা ফাঁক ঠিক করা বা নতুন পরিবেশে অভিযোজিত করার সুবিধা। প্রাথমিক উন্নয়ন পর্যায়ে ভালো অনুশীলন এই গুণমানকে প্রভাবিত করে। দীর্ঘমেয়াদে এটি প্রোগ্রামের ভাগ্য নির্ধারণে ভূমিকা রাখে।
- দক্ষতা/পারফরম্যান্স: প্রোগ্রামটি দ্বারা ব্যবহৃত সিস্টেম সম্পদের পরিমাপ (প্রসেসর সময়, মেমোরি স্পেস, ডিস্কের মতো ধীর ডিভাইস, নেটওয়ার্ক ব্যান্ডউইথ, এমনকি ব্যবহারকারীর ইন্টারঅ্যাকশন)। সম্পদ ব্যবস্থাপনায় সতর্কতা প্রয়োজন, যেমন—অস্থায়ী ফাইল অপসারণ বা মেমোরি লিক দূরীকরণ।
- পাঠযোগ্যতা: সোর্স কোডের উদ্দেশ্য, নিয়ন্ত্রণ প্রবাহ ও কার্যক্রম সহজে বোঝার সুবিধা। এটি পরিবাহ্যতা, ব্যবহারযোগ্যতা এবং বিশেষভাবে রক্ষণাবেক্ষণযোগ্যতাকে প্রভাবিত করে। প্রোগ্রামারদের বেশিরভাগ সময় ব্যয় হয় বিদ্যমান কোড পড়া, বোঝা ও পরিবর্তন করতে, যা পাঠযোগ্যতাকে অত্যন্ত গুরুত্বপূর্ণ করে তোলে। অস্পষ্ট কোডে বাগ, অদক্ষতা বা কোডের পুনরাবৃত্তি দেখা দিতে পারে।
- এটা মনে রাখা গুরুত্বপূর্ণ যে কোনো একটি বৈশিষ্ট্য অন্যগুলোর চেয়ে বেশি গুরুত্বপূর্ণ নয়। সমস্ত বৈশিষ্ট্য একটি সিস্টেম হিসেবে বিবেচিত হয়, যেখানে প্রতিটি সমানভাবে গুরুত্বপূর্ণ। এগুলোর মধ্যে কোনো একটি দুর্বল হলে পুরো প্রোগ্রামটি প্রভাবিত হয়।
প্রধান পরিভাষা
[সম্পাদনা]- দক্ষতা
- প্রোগ্রাম দ্বারা ব্যবহৃত সিস্টেম সম্পদের পরিমাপ।
- রক্ষণাবেক্ষণযোগ্যতা
- বর্তমান বা ভবিষ্যত ডেভেলপারদের দ্বারা প্রোগ্রামটি পরিবর্তনের সুবিধা।
- পরিবাহ্যতা
- যেসব হার্ডওয়্যার ও অপারেটিং সিস্টেম প্ল্যাটফর্মে প্রোগ্রামের সোর্স কোড কম্পাইল/ইন্টারপ্রেট ও রান করা যায়।
- পাঠযোগ্যতা
- সোর্স কোডের উদ্দেশ্য ও কার্যক্রম সহজে বোঝার সুবিধা।
- নির্ভরযোগ্যতা
- প্রোগ্রামটি কতবার সঠিক ফলাফল প্রদান করে।
- দৃঢ়তা
- ত্রুটিজনিত সমস্যা মোকাবেলায় প্রোগ্রামের সক্ষমতা।
- ব্যবহারযোগ্যতা
- প্রোগ্রামটি ব্যবহারের সহজতা।