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