চলক ব্যাখ্যা
আপনার কেস ভেরিয়েবল রিফ্যাক্টরিং ব্যাখ্যা করার জন্য একটি উদাহরণ । সংক্ষেপে, একটি ব্যাখ্যামূলক পরিবর্তনশীল হ'ল যা কঠোরভাবে প্রয়োজনীয় নয়, তবে আপনি পাঠযোগ্যতা বৃদ্ধির লক্ষ্যে কোনও কিছুর একটি পরিষ্কার নাম দিতে পারবেন।
ভাল মানের কোড পাঠকের উদ্দেশ্যে অভিপ্রায় যোগাযোগ করে; এবং একজন পেশাদার বিকাশকারী হিসাবে পঠনযোগ্যতা এবং রক্ষণাবেক্ষণ আপনার # 1 লক্ষ্য goals
এই হিসাবে, আমি থাম্বের নিয়মটি সুপারিশ করব: এটি যদি আপনার প্যারামিটারের উদ্দেশ্যটি তাত্ক্ষণিকভাবে সুস্পষ্ট না হয় তবে একটি ভাল নাম দেওয়ার জন্য ভেরিয়েবলটি নির্দ্বিধায় ব্যবহার করুন। আমি মনে করি এটি সাধারণভাবে একটি ভাল অনুশীলন (অপব্যবহার না করে)। এখানে একটি দ্রুত, স্বীকৃত উদাহরণ - বিবেচনা করুন:
editButton.Enabled = (_grid.SelectedRow != null && ((Person)_grid.SelectedRow).Status == PersonStatus.Active);
বনাম সামান্য দীর্ঘ, তবে তর্কযোগ্যভাবে পরিষ্কার:
bool personIsSelected = (_grid.SelectedRow != null);
bool selectedPersonIsEditable = (personIsSelected && ((Person)_grid.SelectedRow).Status == PersonStatus.Active)
editButton.Enabled = (personIsSelected && selectedPersonIsEditable);
বুলিয়ান প্যারামিটার
আপনার উদাহরণটি হাইলাইট করে যে এপিআইগুলিতে বুলিয়ানগুলি প্রায়শই একটি খারাপ ধারণা - কলিংয়ের দিকে, তারা কী ঘটছে তা ব্যাখ্যা করার জন্য কিছুই করে না। বিবেচনা:
ParseFolder(true, false);
এই পরামিতিগুলির অর্থ কী তা আপনাকে সন্ধান করতে হবে; যদি তারা enums হয়, এটি অনেক বেশি পরিষ্কার হবে:
ParseFolder(ParseBehaviour.Recursive, CompatibilityOption.Strict);
সম্পাদনা:
শিরোনাম যুক্ত হয়েছে এবং দুটি প্রধান অনুচ্ছেদের ক্রমটি অদলবদল করেছে, কারণ অনেক লোক বুলিয়ান প্যারামিটার অংশের দিকে মনোযোগ দিচ্ছিল (সত্যি বলতে গেলে এটি প্রথম অনুচ্ছেদে ছিল )। এছাড়াও প্রথম অংশে একটি উদাহরণ যুক্ত করেছে।