পাইথন ফাইল নামকরণ কনভেনশন?


137

আমি পিইপি -8 এর এই অংশটি দেখেছি https://www.python.org/dev/peps/pep-0008/#package-and-module-names

এটি কোনও মডিউল / শ্রেণি / প্যাকেজের ফাইলের নাম বোঝায় কিনা তা সম্পর্কে আমি পরিষ্কার নই।

যদি আমার প্রতিটিটির একটি উদাহরণ থাকে তবে উপযুক্ত হলে ফাইলের নামগুলি আন্ডারস্কোর সহ সমস্ত নিম্নতর হওয়া উচিত? অথবা অন্য কিছু?


4
tl; dr: দুটি ক্লাস FooBarএবং FooBizউভয়ই ফাইলে যেতে পারে somepkg/foobar.py(এইভাবে from somepkg.foobar import FooBar:) তবে ক্লাসটি (এভাবে ) প্রবেশ TimerErrorকরতে পারে , যেহেতু মাঝে মাঝে মুছে ফেলা শব্দটি পড়া আরও শক্ত করে তোলে, সুতরাং ফাইলের নামের জন্য এটি ব্যবহার করা যেতে পারে। except/timer_error.pyfrom except.timer_error import TimerErrorCamelCasesnake_case
মাইকেল 21

উত্তর:


156

Https://www.python.org/dev/peps/pep-0008/#package-and-module-names এর উদ্ধৃতি :

মডিউলগুলির সংক্ষিপ্ত, সমস্ত-ছোট নাম থাকা উচিত। অধ্যয়নগুলি মডিউলের নামে ব্যবহার করা যেতে পারে যদি এটি পঠনযোগ্যতা উন্নত করে। পাইথন প্যাকেজগুলির ছোট, সমস্ত ছোট ছোট নাম থাকতে হবে যদিও আন্ডারস্কোর ব্যবহার নিরুত্সাহিত করা হয়েছে।

জন্য ক্লাস :

শ্রেণীর নামগুলি সাধারণত ক্যাপওয়ার্ডস কনভেনশন ব্যবহার করা উচিত।

এবং ফাংশন এবং (স্থানীয়) পরিবর্তনশীল নামগুলি হ'ল :

ছোট হাতের অক্ষর, পাঠযোগ্যতা উন্নত করতে প্রয়োজনীয় হিসাবে আন্ডারস্কোর দ্বারা পৃথক করা শব্দের সাথে

মডিউল, শ্রেণি এবং প্যাকেজের মধ্যে পার্থক্যের জন্য এই উত্তরটি দেখুন :

  • পাইথন মডিউলটি কেবল একটি পাইথন উত্স ফাইল যা ক্লাস, ফাংশন এবং গ্লোবাল ভেরিয়েবলগুলি প্রকাশ করতে পারে।
  • পাইথন প্যাকেজটি হল পাইথন মডিউলগুলির একটি ডিরেক্টরি।

সুতরাং পিইপি 8 আপনাকে বলে যে :

  • মডিউলগুলির (ফাইলের নাম) সংক্ষিপ্ত, সমস্ত-ছোট নাম থাকা উচিত এবং এগুলিতে আন্ডারস্কোর থাকতে পারে;
  • প্যাকেজ (ডিরেক্টরি) এর সংক্ষিপ্ত, সমস্ত-ছোট নাম থাকা উচিত , সাধারণত আন্ডারস্কোর ছাড়াই;
  • ক্লাসগুলিতে ক্যাপওয়ার্ডস কনভেনশন ব্যবহার করা উচিত।

পিইপি 8 বলে যে নামগুলি সংক্ষিপ্ত হওয়া উচিত ; এই উত্তরটি ভেরিয়েবলের নাম তৈরি করার সময় কী বিবেচনায় নিতে হবে তার একটি ভাল ওভারভিউ দেয় যা অন্যান্য নামের ক্ষেত্রেও প্রযোজ্য (ক্লাস, প্যাকেজ ইত্যাদির জন্য):

  • পরিবর্তনশীল নামগুলি পুরো বর্ণনাকারী নয়;
  • মন্তব্যগুলিতে বিশদ রাখুন;
  • খুব নির্দিষ্ট নামের অর্থ খুব নির্দিষ্ট কোড হতে পারে;
  • দ্রুত দেখার জন্য সংক্ষিপ্ত স্কোপ রাখুন;
  • পাঠযোগ্যতার কথা চিন্তা করে সময় ব্যয় করুন spend

সমাপ্ত করার জন্য, নামকরণের সম্মেলনগুলির একটি ভাল ওভারভিউ গুগল পাইথন স্টাইল গাইডে দেওয়া হয়েছে ।


5
এবং আমি বিব্রত হয়ে আমার বোঝার বিষয়টি নিশ্চিত করতে বলব, মডিউলগুলিতে ক্লাস রয়েছে - সুতরাং আপনি মডিউলগুলির মধ্যে ক্লাস ব্যবহার করবেন এবং একটি মডিউলে একাধিক ক্লাস থাকতে পারে?
অন্ধকার

6
হ্যাঁ, আপনার মডিউলে 0, 1 বা আরও ক্লাস থাকতে পারে।
চিত্কার

1
আমার প্রকল্পটি হাতছাড়া হওয়ার আগে আমি সময় মতো এটি পেয়েছি বলে আমি আনন্দিত, কারণ আমার সমস্ত প্যাকেজগুলি আমার ক্লাসগুলির মতো ক্যাপসওয়ার্ডস কনভেনশন অনুসরণ করে।
বাস জানসান

1
@ পাইপম্যানেটজিজ এটি আসলে অন্য একটি প্রশ্ন, তবে আমি বলব যে আপনার সংক্ষিপ্ত না বোঝার চেয়ে বেশি দীর্ঘ বোঝার নাম পছন্দ করা উচিত।
চলাচল করুন

1
প্যাকেজ নামের জন্য, এটি "আন্ডারস্কোর ব্যবহার নিরুত্সাহিত করা হয়েছে", নিষিদ্ধ নয়। অজগর দর্শনে আপনার এই নিয়মটি অনুসরণ করা উচিত, "যদিও বাস্তবতাই বিশুদ্ধতা বজায় রাখে"। অবশ্য, শ্রেষ্ঠ একটি উপায় নিয়ম অনুসরণ খুঁজতে হয় এবং ব্যবহারিক হোন (হয়তো বিভিন্ন প্যাকেজ করা নাম বিভক্ত করতে some> long> nameপরিবর্তে somelongname?)
Juh_

0

পাইথন নাম কনভেনশনের বিভিন্ন ধরণের লিঙ্ক এখানে

পাইথনের স্টাইল গাইডটি গাইডোর নামকরণ কনভেনশন সুপারিশের ভিত্তিতে।

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.