না, কোনও মানিক নির্দেশিকা নেই is
তবে এমন কিছু কৌশল রয়েছে যা প্রচুর পরিমাপের সাথে আরও বহনযোগ্য একটি ফাংশন তৈরি করতে পারে।
আপনি একটি তালিকা-যদি-আরগস প্যারামিটার (আরগস *) বা অভিধান-অফ-আরগ্স প্যারামিটার (কোয়ার্গস **
) ব্যবহার করতে পারেন
উদাহরণস্বরূপ, পাইথনে:
// Example definition
def example_function(normalParam, args*, kwargs**):
for i in args:
print 'args' + i + ': ' + args[i]
for key in kwargs:
print 'keyword: %s: %s' % (key, kwargs[key])
somevar = kwargs.get('somevar','found')
missingvar = kwargs.get('somevar','missing')
print somevar
print missingvar
// Example usage
example_function('normal parameter', 'args1', args2,
somevar='value', missingvar='novalue')
আউটপুট:
args1
args2
somevar:value
someothervar:novalue
value
missing
অথবা আপনি অবজেক্ট আক্ষরিক সংজ্ঞা সিনট্যাক্স ব্যবহার করতে পারেন
উদাহরণস্বরূপ, একটি এজেএক্স GET অনুরোধ চালু করার জন্য এখানে একটি জাভাস্ক্রিপ্ট jQuery কল রয়েছে:
$.ajax({
type: 'GET',
url: 'http://someurl.com/feed',
data: data,
success: success(),
error: error(),
complete: complete(),
dataType: 'jsonp'
});
আপনি যদি jQuery এর এজাক্স ক্লাসটি একবার দেখুন তবে অনেকগুলি (আনুমানিক 30) আরও বৈশিষ্ট্য সেট করা যেতে পারে; বেশিরভাগ কারণ এজ্যাক যোগাযোগ খুব জটিল। ভাগ্যক্রমে, অবজেক্ট আক্ষরিক বাক্য গঠন জীবনকে সহজ করে তোলে।
সি # ইন্টিলিসেন্স প্যারামিটারগুলির সক্রিয় ডকুমেন্টেশন সরবরাহ করে যাতে ওভারলোডেড পদ্ধতির খুব জটিল ব্যবস্থা দেখতে অস্বাভাবিক নয়।
অজগর / জাভাস্ক্রিপ্টের মতো গতিযুক্ত টাইপিত ভাষার যেমন তেমন কোনও ক্ষমতা নেই, তাই কীওয়ার্ড আর্গুমেন্ট এবং বস্তুর আক্ষরিক সংজ্ঞাগুলি দেখা অনেক বেশি সাধারণ।
জটিল পদ্ধতি পরিচালনার জন্য আমি অবজেক্ট আক্ষরিক সংজ্ঞা ( এমনকি সি # তেও) পছন্দ করি কারণ আপনি স্পষ্টভাবে দেখতে পারেন যে কোনও বস্তু তাত্ক্ষণিকভাবে স্থাপন করার সময় কোন বৈশিষ্ট্য সেট করা হচ্ছে। ডিফল্ট আর্গুমেন্টগুলি পরিচালনা করতে আপনাকে আরও কিছু কাজ করতে হবে তবে দীর্ঘ সময় আপনার কোডটি অনেক বেশি পঠনযোগ্য হবে। বস্তুর আক্ষরিক সংজ্ঞা দিয়ে আপনি আপনার কোডটি প্রথম নজরে কী করছে তা বোঝার জন্য ডকুমেন্টেশনের উপর আপনার নির্ভরতা ভঙ্গ করতে পারেন।
আইএমএইচও, ওভারলোডেড পদ্ধতিগুলি অত্যধিক ওভাররেটেড।
দ্রষ্টব্য: যদি আমি মনে করি সঠিক পঠনযোগ্য অ্যাক্সেস নিয়ন্ত্রণে সি # তে অবজেক্ট লিটারাল কনস্ট্রাক্টরের কাজ করা উচিত। তারা মূলত কন্সট্রাক্টরের বৈশিষ্ট্য নির্ধারণের মতো একই কাজ করে।
আপনি যদি কোনও ডাইনামিকালি টাইপড (পাইথন) এবং / অথবা ফাংশনাল / প্রোটোটাইপ জাভাস্ক্রিপ্ট ভিত্তিক ভাষায় কোনও তুচ্ছ কোড না লিখে থাকেন তবে আমি এটিকে চেষ্টা করার পরামর্শ দিচ্ছি। এটি একটি আলোকিত অভিজ্ঞতা হতে পারে।
সর্বশেষের জন্য পরামিতিগুলির উপর আপনার নির্ভরতা ভাঙার জন্য এটি প্রথমে ভীতিজনক হতে পারে, ফাংশন / পদ্ধতি সূচনা করার জন্য সবার দৃষ্টিভঙ্গি হোক তবে অপ্রয়োজনীয় জটিলতা যুক্ত না করে আপনি আপনার কোডের সাথে আরও অনেক কিছু করতে শিখবেন।
হালনাগাদ:
স্থিতিশীলভাবে টাইপ করা ভাষায় ব্যবহারের প্রদর্শন করার জন্য সম্ভবত আমার উদাহরণ দেওয়া উচিত ছিল তবে আমি বর্তমানে কোনও স্ট্যাটিকালি টাইপ করা প্রসঙ্গে ভাবছি না। মূলত, হঠাৎ ফিরে যেতে আমি গতিশীল টাইপ করা প্রসঙ্গে খুব বেশি কাজ করছি doing
আমি যা জানি তা হ'ল অবজেক্ট আক্ষরিক সংজ্ঞা বাক্য গঠন স্থিরভাবে টাইপ করা ভাষায় (কমপক্ষে সি # এবং জাভাতে) সম্পূর্ণভাবে সম্ভব কারণ আমি এগুলি আগে ব্যবহার করেছি। স্ট্যাটিকালি টাইপ করা ভাষায় তাদের বলা হয় 'অবজেক্ট ইনিশিয়ালাইজার'। জাভা এবং সি # তে তাদের ব্যবহার দেখানোর জন্য এখানে কয়েকটি লিঙ্ক রয়েছে ।