পূর্বে আমি সর্বদা আমার অবজেক্টের প্যারামিটারগুলি নিম্নরূপ নথিভুক্ত করেছি:
/**
* Description of the function
*
* @param {Object} config - The configuration
* @param {String} config.foo
* @param {Boolean} [config.bar] - Optional value
* @return {String}
*/
function doSomething (config = {}) {
const { foo, bar } = config;
console.log(foo, bar);
// do something
}
তবে আমি অনিশ্চিত যে বর্ণনামূলক ফাংশন প্যারামিটারের সাথে সর্বোত্তম পন্থাটি কী। আমি কি কেবলমাত্র বিষয়টিকে উপেক্ষা করে, কোনওভাবে এটি সংজ্ঞায়িত করব বা এটি নথিভুক্ত করার সর্বোত্তম উপায় কী?
/**
* Description of the function
*
* @param {String} foo
* @param {Boolean} [bar] - Optional value
* @return {String}
*/
function doSomething ({ foo, bar } = {}) {
console.log(foo, bar);
// do something
}
আমি মনে করি আমার উপরের আমার পদ্ধতির এটি স্পষ্ট করে তোলে না যে ফাংশনটি object
দুটি এবং দুটি পৃথক প্যারামিটারের প্রত্যাশা করে না।
আমি ভাবতে পারি যে অন্য উপায়টি ব্যবহার করা হবে @typedef
, তবে এর ফলে একটি বিশাল জগাখিচুড়ি হতে পারে (বিশেষত অনেকগুলি পদ্ধতি সহ একটি বৃহত ফাইলে)?
/**
* @typedef {Object} doSomethingConfiguration
* @property {String} foo
* @property {Boolean} [bar] - Optional value
*/
/**
* Description of the function
*
* @param {doSomethingConfiguration}
* @return {String}
*/
function doSomething ({ foo, bar } = {}) {
console.log(foo, bar);
// do something
}
config
হয়েছে বা তার কোনও নাম আছে কিনা তা কেউই চিন্তা করে না ।