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