පයිතන් ගොනු නම් කිරීමේ සම්මුතිය?


177

PEP-8 හි මෙම කොටස මම දැක ඇත්තෙමි https://www.python.org/dev/peps/pep-0008/#package-and-module-names

මෙය මොඩියුලයක / පන්තියේ / පැකේජයක ගොනු නාමයට යොමු වේද යන්න මට පැහැදිලි නැත.

මට එක් එක් උදාහරණය තිබේ නම්, සුදුසු නම්, යටි ඉරි සහිත ගොනු නාම සියල්ලම කුඩා අකුරු විය යුතුද? හෝ වෙන දෙයක්?


5
tl; dr: පංති දෙකක් වන FooBarඅතර FooBizදෙකම ගොනුව තුළට යා හැකිය somepkg/foobar.py(මේ අනුව :) from somepkg.foobar import FooBarනමුත් පන්තියට TimerErrorඇතුළට යා හැකිය except/timer_error.py(මේ අනුව from except.timer_error import TimerError), CamelCaseසමහර විට ඉවත් කිරීමෙන් වචනය කියවීමට අපහසු වන බැවින් snake_caseගොනු නාමය සඳහා භාවිතා කළ හැකිය.
මයිකල්

Answers:


193

උපුටා දැක්වීම https://www.python.org/dev/peps/pep-0008/#package-and-module-names :

මොඩියුලවල කෙටි, සියලු කුඩා අකුරු තිබිය යුතුය. කියවීමේ හැකියාව වැඩි දියුණු කරන්නේ නම්, මොඩියුලයේ නමට යටි ලකුණු භාවිතා කළ හැකිය. අවධාරනය කිරීම අධෛර්යමත් කළද, පයිතන් පැකේජවල කෙටි, සියලු කුඩා අකුරු තිබිය යුතුය.

සඳහා පන්ති :

පන්ති නම් සාමාන්‍යයෙන් කැප්වර්ඩ්ස් සම්මුතිය භාවිතා කළ යුතුය.

සහ ශ්‍රිතය සහ (දේශීය) විචල්‍ය නම් විය යුත්තේ:

සිම්පල්, කියවීමේ හැකියාව වැඩි දියුණු කිරීම සඳහා අවශ්‍ය වචන අවධාරනය කරයි

මොඩියුලයක්, පන්තියක් සහ පැකේජයක් අතර වෙනස සඳහා මෙම පිළිතුර බලන්න :

  • පයිතන් මොඩියුලය යනු හුදෙක් පයිතන් ප්‍රභව ගොනුවක් වන අතර එමඟින් පන්ති, කාර්යයන් සහ ගෝලීය විචල්‍යයන් නිරාවරණය කළ හැකිය.
  • පයිතන් පැකේජයක් යනු හුදෙක් පයිතන් මොඩියුලයේ (නාම) නාමාවලියකි.

එබැවින් PEP 8 ඔබට මෙසේ කියයි :

  • මොඩියුල (ගොනු නාම) වල කෙටි, සියලු කුඩා අකුරු තිබිය යුතු අතර , ඒවාට අවධාරනය කළ හැකිය;
  • පැකේජවල (නාමාවලි) කෙටි, සියලු කුඩා අකුරු තිබිය යුතුය , ඊට වඩා අවධාරනය නොකර;
  • පංති විසින් කැප්වර්ඩ්ස් සම්මුතිය භාවිතා කළ යුතුය.

PEP 8 පවසන්නේ නම් කෙටි විය යුතු බවයි ; මෙම පිළිතුර විචල්‍ය නම් නිර්මාණය කිරීමේදී සැලකිල්ලට ගත යුතු දේ පිළිබඳ හොඳ දළ විශ්ලේෂණයක් ලබා දෙයි, එය වෙනත් නම් වලටද අදාළ වේ (පන්ති, පැකේජ ආදිය සඳහා):

  • විචල්ය නම් සම්පූර්ණ විස්තර කරන්නන් නොවේ;
  • අදහස් දැක්වීම්වල තබන්න;
  • ඕනෑවට වඩා නිශ්චිත නමක් යනු විශේෂිත කේතයක් විය හැකිය;
  • ඉක්මන් සොයා බැලීම සඳහා කෙටි විෂය පථ තබා ගන්න;
  • කියවීමේ හැකියාව ගැන සිතමින් කාලය ගත කරන්න.

අවසන් කිරීම සඳහා, නම් කිරීමේ සම්මුතීන් පිළිබඳ හොඳ දළ විශ්ලේෂණයක් Google Python Style Guide හි දක්වා ඇත.


5
මගේ අවබෝධය තහවුරු කිරීමට මම ලැජ්ජාවෙන් ඉල්ලා සිටිමි, මොඩියුලවල පන්ති අඩංගු වේ - එබැවින් ඔබ මොඩියුල තුළ පන්ති භාවිතා කරන අතර එක් මොඩියුලයක පන්ති කිහිපයක් තිබිය හැකිද?
darkace

6
ඔව්, ඔබට මොඩියුලයක පන්ති 0, 1 හෝ වැඩි ගණනක් තිබිය හැකිය.
agold

1
මගේ සියලු පැකේජ මගේ පන්තිවල මෙන් කැප්ස්වර්ඩ්ස් සම්මුතිය අනුගමනය කරමින් සිටි බැවින්, මගේ ව්‍යාපෘතිය අතපසු වීමට පෙර මෙය සොයා ගැනීම ගැන මම සතුටු වෙමි.
බාස් ජැන්සන්

1
@pypmannetjies මෙය ඇත්ත වශයෙන්ම තවත් ප්‍රශ්නයකි, නමුත් මම කියන්නේ කෙටි නොතේරෙන ඒවාට වඩා දිගු තේරුම් ගත හැකි නම් වලට ඔබ කැමති විය යුතු බවයි.
agold

1
පැකේජයේ නම සඳහා, එය "අවධාරනය කිරීම අධෛර්යමත් කර ඇත", නමුත් තහනම් නොවේ. පයිතන් දර්ශනයේ දී, “ප්‍රායෝගිකත්වය පාරිශුද්ධභාවයට පහර දුන්නද” යන නියමය අනුගමනය කළ යුතුය. ඇත්ත වශයෙන්ම, හොඳම පාලනය අනුගමනය කිරීමට ක්රමයක් සොයා ගැනීම යි සහ ප්රායෝගික (පැකේජ කිහිපයක් නම බෙදී සමහරවිට කරන්න, some> long> nameවෙනුවට somelongname?)
Juh_

10

මෙන්න විවිධ වර්ගයේ පයිතන් නාම සම්මුතීන් සඳහා සබැඳියක්.

පයිතන් සඳහා වන මාර්ගෝපදේශය ගයිඩෝගේ නම් කිරීමේ සම්මුති නිර්දේශ මත පදනම් වේ.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.