উত্তর:
শুধু নিব। নামধারী কনভেনশন এবং অন্যান্য শৈলীর পরামর্শের জন্য আরও একটি রাজধানী এন সহ ক্লাবটির নাম নিন, ক্লাসটির নাম দিন , পাইথন শৈলীর গাইড পিইপি 8 দেখুন ।
Client
, এবং বোধগম্য আমি প্রায়শই এর কল করতে চাই যা আমি কল করতে চাই client
। কিন্তু আপনার কনভেনশন অনুযায়ী, মডিউল নাম হবে client
, এবং তাই আমি সবসময় আমার দৃষ্টান্ত কিছু অস্বাভাবিক নাম আছে চাই client_instance
। আপনি এই সমস্যাটি সম্পর্কে কী ভাবেন?
Client
, তবে এটি শ্রেণীর নামের সাথে সংঘর্ষ হবে Client
। আছে যেহেতু মাত্র 3 সম্ভব নামকরণ রূপগুলো ( client
, Client
বা CLIENT
) সবসময় দৃষ্টান্ত, ক্লাস, মডিউল বা ধ্রুবক দুজনের মধ্যে সংঘর্ষ হবেন। আমি বিশ্বাস করি আপনি ক্লাসের তুলনায় আপনার মডিউলটির উদাহরণ বা ধ্রুবক হিসাবে কম সময় ব্যবহার করেন এবং তাই অন্য সম্ভাবনার আরও ভাল নামকরণের কনভেনশন। আপনি সাধারণত ভেরিয়েবলের পরিবর্তে ক্লাস এবং ধ্রুবক আমদানি করেন তাই এটি মডিউলগুলি থেকে আরও পঠনযোগ্য পড়বে।
আমি এটিকে nib.py বলব এবং আমি ক্লাসের নাম নিবও করতাম।
একটি বৃহত্তর অজগর প্রকল্পে আমি কাজ করছি, আমাদের মূলত একটি গুরুত্বপূর্ণ শ্রেণি সংজ্ঞায়িত করার জন্য প্রচুর মডিউল রয়েছে। শ্রেণিগুলির নাম একটি মূল অক্ষর দিয়ে শুরু হয়। মডিউলগুলি ছোট হাতের ক্লাসের মতো নামকরণ করা হয়। এটি নিম্নলিখিতগুলির মতো আমদানি করে:
from nib import Nib
from foo import Foo
from spam.eggs import Eggs, FriedEggs
এটি কিছুটা জাভা উপায় অনুকরণ করার মতো। প্রতি ফাইল প্রতি ক্লাস। তবে যুক্ত নমনীয়তার সাথে, আপনি যদি সবসময় কোনও একক ফাইলের সাথে অন্য শ্রেণি যুক্ত করতে পারেন তা যদি তা বোঝা যায়।
আমি জানি আমার সমাধানটি পাইথোনিক দৃষ্টিকোণ থেকে খুব জনপ্রিয় নয় তবে আমি ক্লাসের নামযুক্ত মডিউলটির সাথে একটি মডিউল-> এক শ্রেণির জাভা পদ্ধতির ব্যবহার করতে পছন্দ করি। পাইথন স্টাইলের পিছনে কারণটি আমি বুঝতে পারি, তবে অনেক ক্লাস যুক্ত একটি খুব বড় ফাইল থাকা আমার খুব পছন্দ নয়। ভাঁজ হওয়া সত্ত্বেও ব্রাউজ করা আমার পক্ষে কঠিন difficult
আর একটি কারণ সংস্করণ নিয়ন্ত্রণ: একটি বড় ফাইল থাকার অর্থ আপনার কমিটগুলি সেই ফাইলটিতে মনোনিবেশ করার ঝোঁক। এটি সম্ভবত উচ্চতর সংঘাতের সমাধানের দিকে নিয়ে যেতে পারে। আপনার প্রতিশ্রুতিবদ্ধ সুনির্দিষ্ট ফাইলগুলিকে সংশোধন করে এমন অতিরিক্ত লগের তথ্যও আলগা করে (অতএব নির্দিষ্ট শ্রেণিসমূহের সাথে জড়িত)। পরিবর্তে আপনি মডিউল ফাইলে একটি পরিবর্তন দেখতে পাচ্ছেন, পরিবর্তনটি কী হয়েছে তা বোঝার জন্য কেবল প্রতিশ্রুতিবদ্ধ মন্তব্য দিয়ে।
সংক্ষেপে, আপনি যদি অজগর দর্শন পছন্দ করেন তবে অন্যান্য পোস্টের পরামর্শের জন্য যান। আপনি যদি এর পরিবর্তে জাভা-জাতীয় দর্শন পছন্দ করেন তবে নিব ক্লাসযুক্ত একটি Nib.py তৈরি করুন।
spyder
নেভিগেশন সহায়তা করতে আপনার ক্লাসের সংক্ষিপ্তসার দেখতে এবং একই ফাইল দুটি প্যানে উভয় ক্ষেত্রে খোলা ব্যবহার করতে বা অনুরূপ সম্পাদক ব্যবহার করুন । এছাড়াও, দয়া করে পিইপি 8 পড়ুন। পাইথন পাইথন লেখার জন্য, এবং জাভা জাভা, তবে পাইথন জাভা লেখার জন্য নয় ।
নিব ঠিক আছে। সন্দেহ হলে পাইথন স্টাইল গাইডটি দেখুন।
পিইপি 8 থেকে :
প্যাকেজ এবং মডিউল নাম মডিউলগুলির সংক্ষিপ্ত, সমস্ত-ছোট নাম থাকা উচিত। অধ্যয়নগুলি মডিউলটির নামে ব্যবহারযোগ্য যদি এটি পঠনযোগ্যতা উন্নত করে। পাইথন প্যাকেজগুলিরও ছোট, সমস্ত ছোট ছোট নাম থাকা উচিত, যদিও আন্ডারস্কোর ব্যবহার নিরুত্সাহিত করা হয়।
যেহেতু মডিউল নাম ফাইল করার জন্য ম্যাপ করা থাকে এবং কিছু ফাইল সিস্টেমগুলি সংবেদনশীল এবং দীর্ঘ নামগুলি কাটা হয়, তাই মডিউল নামগুলি মোটামুটি সংক্ষিপ্ত হিসাবে বেছে নেওয়া গুরুত্বপূর্ণ - এটি ইউনিক্সে সমস্যা হবে না তবে এটি একটি হতে পারে সমস্যাটি যখন পুরানো ম্যাক বা উইন্ডোজ সংস্করণগুলি বা ডসগুলিতে স্থানান্তরিত হয়।
সি বা সি ++ তে লিখিত একটি এক্সটেনশন মডিউলটির সাথে একটি পাইথন মডিউল থাকে যা উচ্চতর স্তর (যেমন আরও বেশি বস্তু কেন্দ্রিক) ইন্টারফেস সরবরাহ করে, সি / সি ++ মডিউলটির একটি শীর্ষস্থানীয় আন্ডারস্কোর থাকে (যেমন _সকেট)।
থেকে PEP-8: প্যাকেজ এবং মডিউল নাম :
মডিউলগুলির সংক্ষিপ্ত, সমস্ত-ছোট নাম থাকা উচিত। অধ্যয়নগুলি মডিউলটির নামে ব্যবহারযোগ্য যদি এটি পঠনযোগ্যতা উন্নত করে।
পাইথন প্যাকেজগুলিরও ছোট, সমস্ত ছোট ছোট নাম থাকা উচিত, যদিও আন্ডারস্কোর ব্যবহার নিরুত্সাহিত করা হয়।
সি বা সি ++ তে লিখিত একটি এক্সটেনশন মডিউলটির সাথে একটি পাইথন মডিউল থাকে যা উচ্চতর স্তর (যেমন আরও বেশি বস্তু কেন্দ্রিক) ইন্টারফেস সরবরাহ করে, সি / সি ++ মডিউলটির একটি শীর্ষস্থানীয় আন্ডারস্কোর থাকে (যেমন _সকেট)।
পাইথনে foo মডিউল জাভাতে একটি ফু ক্লাস ফাইলের সমতুল্য হবে
অথবা
পাইথনে foobar মডিউলটি জাভাতে একটি FooBar বর্গ ফাইলের সমতুল্য হবে