পাইথন কোডিং মান / সেরা অনুশীলন [বন্ধ]


116

পাইথনে আপনি সাধারণত পিইপি 8 - পাইথন কোডের স্টাইল গাইডকে আপনার কোডিং মান / নির্দেশিকা হিসাবে ব্যবহার করেন? আপনি পছন্দ করেন এমন আরও কি কোনও আনুষ্ঠানিক মান আছে?


1
//, "শ্রোতাদের পছন্দসমূহ" এর প্রার্থনা প্রথমে ক্ষতিহীন বলে মনে হতে পারে তবে এটি স্ট্যাকওভারফ্লোটিকে একটি পোলিং মেকানিজমে পরিণত করে, অনেকের বিপরীতে কয়েকটির মতো বিকৃত গণতন্ত্র। "আপনি পছন্দ করেন এমন অন্য কোনও ________ কি আছে?" আক্ষরিক অর্থেই তারা তাদের কাছে অগ্রাধিকার চাইছে, সত্য নয়।
নাথান বাসানিজ

উত্তর:


150

"পাইথনটিতে আপনি সাধারণত কোডিং স্ট্যান্ডার্ড / গাইডলাইন হিসাবে পাইথন কোডের জন্য পিইপি 8 - স্টাইল গাইড ব্যবহার করেন? আপনি পছন্দ করেন এমন অন্য কোনও আনুষ্ঠানিক মান আছে কি?"

আপনি উল্লিখিত হিসাবে মূল পাঠ্যের জন্য পিইপি 8 এবং ডক্টস্ট্রিং সম্মেলনের জন্য পিইপি 257 অনুসরণ করুন

পাইথন স্টাইল গাইড সহ, আমি আপনাকে নিম্নলিখিতগুলি উল্লেখ করার পরামর্শ দিই:

  1. পাইথনিস্টের মতো কোড: আইডোমেটিক পাইথন
  2. সাধারণ ভুল এবং ওয়ার্টস
  3. পাইথন কোডটি কীভাবে লিখবেন না
  4. পাইথন গ্যাচা

14

আমি রব নাইট দ্বারা পাইথন আইডিয়ামস এবং দক্ষতার নির্দেশিকা অনুসরণ করি । আমি মনে করি তারা পিইপি 8 এর মতো একই, তবে আরও সিন্থেটিক এবং উদাহরণের ভিত্তিতে।

আপনি যদি ডাব্লুএক্সপিথন ব্যবহার করে থাকেন তবে ক্রিস বার্কারের দ্বারা ডাব্লুএক্সপিথন কোডের জন্য স্টাইল গাইডও পরীক্ষা করতে পারেন ।


8

আমি খুব কাছ থেকে পিইপি -8 আটকে থাকি।

তিনটি সুনির্দিষ্ট জিনিস রয়েছে যা আমি পিইপি -8 এ পরিবর্তন করতে পারা যায় না।

  • অবধি বন্ধনী, বন্ধনী বা ধনুর্বন্ধনী ভিতরে।

    প্রস্তাবিত: spam(ham[1], {eggs: 2})

    আমি যাইহোক এটি করি: spam( ham[ 1 ], { eggs: 2 } )

    কেন? 30+ বছরের অভ্যন্তরীণ অভ্যাসটি হ'ল ফাংশনটির নাম বা (সিতে) বিবৃতি কীওয়ার্ডের বিরুদ্ধে () স্ফুলিং করা। 70 এর দশকে ফোর্টরান চতুর্থ দিয়ে শুরু।

  • পাটিগণিত অপারেটরগুলির চারপাশে স্পেস ব্যবহার করুন:

    প্রস্তাবিত: x = x * 2 - 1

    আমি যাইহোক এটি করি: x= x * 2 - 1

    কেন? গ্রিজের দ্য সায়েন্স অফ প্রোগ্রামিং এএসাইনমেন্ট এবং ভেরিয়েবলের রাজ্যের পরিবর্তনশীলগুলির মধ্যে সংযোগের উপর জোর দেওয়ার উপায় হিসাবে এটি পরামর্শ দিয়েছে suggested

    এটি একাধিক অ্যাসাইনমেন্ট বা বাড়ানো অ্যাসাইনমেন্টের জন্য ভাল কাজ করে না, তার জন্য আমি প্রচুর স্পেস ব্যবহার করি।

  • ফাংশন নাম, পদ্ধতির নাম এবং উদাহরণের পরিবর্তনশীল নামগুলির জন্য

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

    আমি যাইহোক এটি করি: উট কেস

    কেন? 80 এর দশকে পাস্কাল দিয়ে শুরু হয়ে উটকেসেকে অভ্যস্ত অভ্যাসের 20+ বছর।


1
এটা দুর্দান্ত বিষয়বস্তু! codingstyleguide.com বা codereview.stackexchange.com এই মহান নির্দেশিকা আছে একটা চমৎকার জায়গা হবে।
পম্পেও

5

পিইপি 8 ভাল, কেবলমাত্র আমি চাই যে এটি আরও শক্তভাবে নেমে আসবে তা হ'ল ট্যাবস-বনাম-স্পেসের পবিত্র যুদ্ধ।

মূলত আপনি যদি অজগরটিতে একটি প্রকল্প শুরু করেন, আপনাকে ট্যাব বা স্পেসগুলি চয়ন করতে হবে এবং তারপরে সমস্ত অপরাধীকে নজরদারি করতে হবে।


4
ট্যাব বা স্পেস? পিইপি 8 থেকে: স্পেসগুলি পছন্দসই ইনডেন্টেশন পদ্ধতি। ট্যাবগুলির সাথে ইতিমধ্যে ইন্ডেন্ট করা কোডের সাথে সামঞ্জস্য থাকতে এককভাবে ট্যাবগুলি ব্যবহার করা উচিত।
ডেমজ

//, পিইপি 8 পুরোপুরি স্পষ্ট যে স্পেসগুলি পছন্দসই ইনডেন্টেশন পদ্ধতি, রায়ান। Downvoted। যদিও উত্তরটি আপডেট করবেন?
নাথান বাসানিজ

5

জুড়ুন ভাদ্র এর তালিকা কথ্য সহায়িকার:

কার্যকর পাইথন প্রোগ্রামিংয়ের উপর অ্যান্টনি বাক্সারের উপস্থাপনা (ওএসওএন 2005 থেকে) Check

একটি অংশ:

# dict's setdefault method turns this:
if key in dictobj:
    dictobj[key].append(val)
else:
    dictobj[key] = [val]
# into this:
dictobj.setdefault(key,[]).append(val)

4

আমি এটি অত্যন্ত কঠোরভাবে অনুসরণ করি। PEP-8 এর আগে একমাত্র godশ্বর বিদ্যমান কোড বেসগুলি।


1
এবং আমি লক্ষ করব যে পিইপি -8 এমনকি বিদ্যমান কোড বেসগুলিকে অ্যাকাউন্টে নেয়।
জন মুলদার

2

হ্যাঁ, আমি যতটা সম্ভব নিবিড়ভাবে এটি অনুসরণ করার চেষ্টা করি।

আমি অন্য কোনও কোডিং মান অনুসরণ করি না।


1

আমি পিইপি 8 অনুসরণ করি, এটি কোডিং শৈলীর দুর্দান্ত অংশ।

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