পাইথনে ফাংশন মন্তব্য করার কোনও স্বীকৃত উপায় কি আছে? নিম্নলিখিত গ্রহণযোগ্য?
#########################################################
# Create a new user
#########################################################
def add(self):
পাইথনে ফাংশন মন্তব্য করার কোনও স্বীকৃত উপায় কি আছে? নিম্নলিখিত গ্রহণযোগ্য?
#########################################################
# Create a new user
#########################################################
def add(self):
উত্তর:
এটি করার সঠিক উপায় হ'ল একটি ডকাস্ট্রিং সরবরাহ করা। এইভাবে, help(add)আপনার মন্তব্য থুতু হবে।
def add(self):
"""Create a new user.
Line 2 of comment...
And so on...
"""
মন্তব্যটি খুলতে এটি তিনটি ডাবল উক্তি এবং এটি শেষ করতে আরও তিনটি ডাবল উদ্ধৃতি। আপনি যে কোনও বৈধ পাইথন স্ট্রিং ব্যবহার করতে পারেন। এটি মাল্টিলাইন হওয়ার প্রয়োজন নেই এবং ডাবল উদ্ধৃতিগুলি একক উদ্ধৃতি দ্বারা প্রতিস্থাপন করা যেতে পারে।
দেখুন: পিইপি 257
অন্যরা ইতিমধ্যে লিখেছেন যেমন একটি ডকস্ট্রিং ব্যবহার করুন।
এমনকি আপনি আরও এক ধাপ এগিয়ে যেতে পারেন এবং আপনার ডকাস্ট্রিংয়ে একটি ডক্টেস্ট যুক্ত করতে পারেন, যাতে আপনার ফাংশনগুলির স্বয়ংক্রিয় পরীক্ষাকে স্ন্যাপ করে।
একটি ডাস্ট্রিং ব্যবহার করুন :
একটি স্ট্রিং আক্ষরিক যা মডিউল, ফাংশন, শ্রেণি বা পদ্ধতির সংজ্ঞায় প্রথম বিবৃতি হিসাবে ঘটে। এই জাতীয় একটি ডাস্ট্রিংই
__doc__সেই বস্তুর বিশেষ বৈশিষ্ট্য হয়ে ওঠে ।সমস্ত মডিউলগুলিতে সাধারণত ডকস্ট্রিং থাকতে হবে এবং মডিউল দ্বারা রফতানি হওয়া সমস্ত ফাংশন এবং ক্লাসেও ডকাস্ট্রিং থাকতে হবে। পাবলিক পদ্ধতিতে (
__init__কনস্ট্রাক্টর সহ ) ডকাস্ট্রিংগুলি থাকা উচিত।__init__.pyপ্যাকেজ ডিরেক্টরিতে ফাইলের মডিউল ডাস্ট্রিংয়ে একটি প্যাকেজ নথিভুক্ত হতে পারে ।পাইথন কোডের অন্য কোথাও স্ট্রিং লিটারেলগুলি ডকুমেন্টেশন হিসাবেও কাজ করতে পারে। এগুলি পাইথন বাইটকোড সংকলক দ্বারা স্বীকৃত নয় এবং রানটাইম অবজেক্ট অ্যাট্রিবিউট (যেমন বরাদ্দ করা হয়নি
__doc__) হিসাবে অ্যাক্সেসযোগ্য নয় , তবে সফ্টওয়্যার সরঞ্জাম দ্বারা দুটি ধরণের অতিরিক্ত ডকাস্ট্রিংগুলি বের করা যেতে পারে:
- মডিউল, শ্রেণি বা
__init__পদ্ধতির শীর্ষ স্তরে একটি সরল কার্যভারের পরে অবিলম্বে স্ট্রিং লিটারেলগুলি ঘটে তাকে "অ্যাট্রিবিউট ডকাস্ট্রিংস" বলা হয়।- স্ট্রিং লিটারেলগুলি অন্য একটি ডকস্ট্রিংয়ের সাথে সাথেই ঘটে বলে তাকে "অতিরিক্ত ডকস্ট্রিংস" বলা হয়।
অ্যাট্রিবিউট এবং অতিরিক্ত ডকাস্ট্রিংয়ের বিশদ বিবরণের জন্য দয়া করে পিইপি 258 , "ডকুমেন্টস ডিজাইন স্পেসিফিকেশন" [2] দেখুন ...
ভাল মন্তব্যের নীতিগুলি মোটামুটি বিষয়গত, তবে এখানে কয়েকটি গাইডলাইন রয়েছে:
আপনার পাইথন কোডে ডকাস্ট্রিং ব্যবহার সম্পর্কে পড়ুন ।
পাইথন ডকস্ট্রিং কনভেনশন অনুসারে :
কোনও ক্রিয়াকলাপ বা পদ্ধতির জন্য ডক্ট্রাস্টিংয়ের সাথে তার আচরণটি সংক্ষিপ্ত করে এবং তার যুক্তিগুলি, রিটার্নের মান (গুলি), পার্শ্ব প্রতিক্রিয়াগুলি, উত্থাপিত ব্যতিক্রমগুলি, এবং কখন এটি ডাকা যেতে পারে তার উপর বিধিনিষেধগুলি নথিভুক্ত করা উচিত (প্রযোজ্য সমস্ত ক্ষেত্রে)। .চ্ছিক যুক্তি নির্দেশ করা উচিত। কীওয়ার্ড আর্গুমেন্টগুলি ইন্টারফেসের অংশ কিনা তা নথিভুক্ত করা উচিত।
কোনও সুবর্ণ নিয়ম থাকবে না, বরং এমন মন্তব্য প্রদান করুন যা আপনার দলের অন্য বিকাশকারীদের কিছু বোঝায় (যদি আপনার একটি থাকে) বা এমনকি আপনি নিজে যখন ছয় মাস রাস্তায় ফিরে আসেন তখন নিজের কাছে।
আমি কেবল "ডক্টস্ট্রিং ব্যবহার করুন" বলার চেয়ে আরও এক ধাপ এগিয়ে যাব। একটি ডকুমেন্টেশন জেনারেশন সরঞ্জাম বাছাই করুন, যেমন পাইডোক বা ইপিডোক (পাইপার্সিংয়ে আমি ইপিডোক ব্যবহার করি), এবং সেই সরঞ্জামটির দ্বারা চিহ্নিত চিহ্নিতআপ সিনট্যাক্সটি ব্যবহার করুন। আপনার ডকুমেন্টেশনের গর্তগুলি সনাক্ত করতে আপনি যখন আপনার বিকাশ করছেন তখন প্রায়শই সেই সরঞ্জামটি চালান। প্রকৃতপক্ষে, আপনি এমনকি ক্লাস প্রয়োগের আগে কোনও শ্রেণীর সদস্যদের জন্য ডক্টাস্টিংগুলি লিখে উপকৃত হতে পারেন ।
ডকাস্ট্রিং ব্যবহার করুন ।
ফাংশন বর্ণনা মন্তব্যের জন্য পাইচার্মে এটি অন্তর্নির্মিত প্রস্তাবিত কনভেনশন :
def test_function(p1, p2, p3):
"""
my function does blah blah blah
:param p1:
:param p2:
:param p3:
:return:
"""
def) এটিকে অভিযুক্ত করা উচিত নয় ? (একটি অলৌকিক প্রশ্ন নয়।)
যদিও আমি সম্মত হই যে এটি কোনও মন্তব্য হওয়া উচিত নয়, তবে বেশিরভাগ (সমস্ত?) উত্তরগুলির মতো ডক্টস্ট্রিংয়ের পরামর্শ অনুসারে, আমি নিমপিডক (একটি ডক্টরসিং স্টাইল গাইড) যুক্ত করতে চাই ।
আপনি যদি এটি এটি করেন তবে আপনি (1) স্বয়ংক্রিয়ভাবে ডকুমেন্টেশন তৈরি করতে পারেন এবং (2) লোকেরা এটি সনাক্ত করতে পারে এবং আপনার কোডটি পড়ার জন্য আরও সহজ সময় থাকতে পারে।
এটি করতে আপনি তিনটি উদ্ধৃতি ব্যবহার করতে পারেন।
আপনি একক উদ্ধৃতি ব্যবহার করতে পারেন:
def myfunction(para1,para2):
'''
The stuff inside the function
'''
বা ডাবল উদ্ধৃতি:
def myfunction(para1,para2):
"""
The stuff inside the function
"""