আমি মাঝে মাঝে নীচের উদাহরণের মতো কোডের উপর হোঁচট খেয়ে যাই (এই ফাংশনটি ঠিক কী করে তোলে এই প্রশ্নের ক্ষেত্রের বাইরে):
function doSomething(value) {
if (check1(value)) {
return -1;
}
else if (check2(value)) {
return value;
}
else {
return false;
}
}
যেহেতু আপনি দেখতে পারেন, if, else ifএবং elseবিবৃতি সাথে ব্যবহার করা হয় returnবিবৃতি। এটি একটি নৈমিত্তিক পর্যবেক্ষকের কাছে মোটামুটি স্বজ্ঞাত বলে মনে হচ্ছে, তবে আমি মনে করি যে এটিগুলি (সফ্টওয়্যার বিকাশকারীর দৃষ্টিকোণ থেকে) else-এসটি ছেড়ে দেওয়া এবং কোডটি সরলীকরণ করার জন্য এটি আরও মার্জিত হবে :
function doSomething(value) {
if (check1(value)) {
return -1;
}
if (check2(value)) {
return value;
}
return false;
}
এটি অর্থবোধ করে, কারণ একটি returnবিবৃতি অনুসরণকারী (একই স্কোপ) এর সমস্ত কিছু কখনই কার্যকর করা হবে না, উপরের কোডটি শব্দার্থগতভাবে প্রথম উদাহরণের সমান করে তুলবে।
উপরের কোনটি ভাল কোডিং অনুশীলন আরও ফিট করে? কোড পঠনযোগ্যতার বিষয়ে কোনও পদ্ধতির কোনও ত্রুটি আছে কি?
সম্পাদনা করুন: এই প্রশ্নটিকে রেফারেন্স হিসাবে সরবরাহ করে একটি সদৃশ পরামর্শ দেওয়া হয়েছে । আমি বিশ্বাস করি যে আমার প্রশ্নটি অন্য একটি বিষয়কে স্পর্শ করে, যেহেতু আমি অন্য প্রশ্নের মতো উপস্থাপন করা সদৃশ বিবৃতি এড়ানো সম্পর্কে জিজ্ঞাসা করছি না। উভয় প্রশ্নই পুনরাবৃত্তি হ্রাস করতে চায়, কিছুটা ভিন্ন উপায়েই।
-1এটি একটি সংখ্যা, falseএকটি বুলিয়ান, এবং valueএখানে নির্দিষ্ট করা হয়নি তাই এটি কোনও ধরণের অবজেক্ট হতে পারে।
value এটি আসলে একটি পূর্ণসংখ্যা। যদি এটি কিছু হতে পারে তবে এটি আরও খারাপ।
elseএকটি ক্ষুদ্রতর ইস্যু, বড় সমস্যা স্পষ্টত একটি একক ফাংশন, যা ফাংশনের এপিআই হয়ে পড়েছে বাইরে দুই ধরনের তথ্য ফেরার হয়।