কয়েক বছর ধরে কাউবয় কোডিংয়ের পরে, আমি কীভাবে ভাল মানের কোড লিখতে হবে তার জন্য একটি বই তুলে নেওয়ার সিদ্ধান্ত নিয়েছি। আমি রবার্ট সিসিল মার্টিনের ক্লিন কোড পড়ছি। অধ্যায় 3 (ফাংশন) এ ডায়াডিক ফাংশনগুলির একটি বিভাগ রয়েছে। বইটির একটি অংশ এখানে দেওয়া হয়েছে।
এমনকি সুস্পষ্ট ডায়াডিক ফাংশনগুলিও
assertEquals(expected, actual)
সমস্যাযুক্ত। প্রত্যাশিত হওয়া উচিত যেখানে আপনি আসলটি কতবার রেখেছেন? দুটি যুক্তির কোনও প্রাকৃতিক অর্ডার নেই। প্রত্যাশিত, প্রকৃত অর্ডারিং এমন একটি সম্মেলন যা শিখতে অনুশীলনের প্রয়োজন।
লেখক একটি বাধ্যতামূলক বিন্দু তোলে। আমি মেশিন লার্নিংয়ে কাজ করি এবং এটি সর্বদা আসি। উদাহরণস্বরূপ, স্কেলরান গ্রন্থাগারের সমস্ত মেট্রিক ফাংশন (সম্ভবত ক্ষেত্রের সর্বাধিক ব্যবহৃত পাইথন লাইব্রেরি) আপনাকে ইনপুটগুলির ক্রম সম্পর্কে সতর্ক থাকতে হবে। উদাহরণ হিসাবে sklearn.metrics.homogeneity_score ইনপুট হিসাবে নেয় labels_true
এবং labels_pred
। এই ফাংশনটি যা করে তা খুব প্রাসঙ্গিক নয়, যা প্রাসঙ্গিক তা হ'ল আপনি যদি ইনপুটগুলির ক্রমটি স্যুইচ করেন তবে কোনও ত্রুটি নিক্ষেপ করা হবে না। প্রকৃতপক্ষে ইনপুটগুলি স্যুইচ করা লাইব্রেরির অন্য একটি ফাংশন ব্যবহারের সমতুল্য ।
তবে বই যেমন ফাংশনগুলির জন্য একটি বোধগম্য ফিক্স বলতে যায় না assertEquals
। আমি assertEquals
প্রায়শই উপরে বর্ণিত ব্যক্তির মতো করে ফাংশনগুলির জন্য বা তার জন্য স্থিরতার কথা ভাবতে পারি না । এই সমস্যাটি সমাধান করার জন্য ভাল অনুশীলনগুলি কী কী?