Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്ന കമാൻഡ് perlmodstyle ആണിത്.
പട്ടിക:
NAME
perlmodstyle - പേൾ മൊഡ്യൂൾ സ്റ്റൈൽ ഗൈഡ്
ആമുഖം
പേൾ എഴുതുന്നതിനുള്ള പേൾ കമ്മ്യൂണിറ്റിയുടെ "മികച്ച സമ്പ്രദായം" വിവരിക്കാൻ ഈ പ്രമാണം ശ്രമിക്കുന്നു
മൊഡ്യൂളുകൾ. ഇത് perlstyle ൽ കണ്ടെത്തിയ ശുപാർശകൾ വിപുലീകരിക്കുന്നു, അത് പരിഗണിക്കേണ്ടതാണ്
ഈ പ്രമാണം വായിക്കുന്നതിന് മുമ്പ് വായിക്കേണ്ടതുണ്ട്.
ഈ പ്രമാണം എല്ലാ മൊഡ്യൂൾ രചയിതാക്കൾക്കും ഉപയോഗപ്രദമാകാൻ ഉദ്ദേശിച്ചുള്ളതാണെങ്കിലും, ഇത് പ്രത്യേകിച്ചും
CPAN-ൽ മൊഡ്യൂളുകൾ പ്രസിദ്ധീകരിക്കാൻ ആഗ്രഹിക്കുന്ന രചയിതാക്കളെ ലക്ഷ്യം വച്ചുള്ളതാണ്.
ഒരു മൊഡ്യൂളിന്റെ ഉപയോക്താക്കൾക്ക് ദൃശ്യമാകുന്ന ശൈലിയുടെ ഘടകങ്ങളിലാണ് ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നത്
മൊഡ്യൂളിന്റെ ഡെവലപ്പർമാർ മാത്രം കാണുന്ന ഭാഗങ്ങൾ. എന്നിരുന്നാലും, പലതും
ഈ ഡോക്യുമെന്റിൽ അവതരിപ്പിച്ചിരിക്കുന്ന മാർഗ്ഗനിർദ്ദേശങ്ങൾ എക്സ്ട്രാപോളേറ്റ് ചെയ്യുകയും വിജയകരമായി പ്രയോഗിക്കുകയും ചെയ്യാം
മൊഡ്യൂളിന്റെ ആന്തരികഭാഗങ്ങൾ.
ഈ പ്രമാണം perlnewmod-ൽ നിന്ന് വ്യത്യസ്തമാണ്, കാരണം ഇത് ഒരു ട്യൂട്ടോറിയൽ എന്നതിലുപരി ഒരു സ്റ്റൈൽ ഗൈഡ് ആണ്
CPAN മൊഡ്യൂളുകൾ സൃഷ്ടിക്കുന്നതിൽ. മൊഡ്യൂളുകൾ താരതമ്യം ചെയ്യാൻ കഴിയുന്ന ഒരു ചെക്ക്ലിസ്റ്റ് ഇത് നൽകുന്നു
അവയിൽ വിവരിക്കാതെ തന്നെ, അവ മികച്ച സമ്പ്രദായവുമായി പൊരുത്തപ്പെടുന്നുണ്ടോ എന്ന് നിർണ്ണയിക്കാൻ
ഇത് എങ്ങനെ നേടാമെന്ന് വിശദമായി.
ഈ പ്രമാണത്തിൽ അടങ്ങിയിരിക്കുന്ന എല്ലാ ഉപദേശങ്ങളും വിപുലമായ സംഭാഷണങ്ങളിൽ നിന്ന് ശേഖരിച്ചതാണ്
പരിചയസമ്പന്നരായ CPAN രചയിതാക്കളും ഉപയോക്താക്കളും. ഇവിടെ നൽകിയിരിക്കുന്ന ഓരോ ഉപദേശവും ഫലമാണ്
മുൻ തെറ്റുകൾ. സമാന തെറ്റുകൾ ഒഴിവാക്കാനും നിങ്ങളെ സഹായിക്കാനും ഈ വിവരങ്ങൾ ഇവിടെയുണ്ട്
അവ പരിഹരിക്കാൻ അനിവാര്യമായും ആവശ്യമായി വരുന്ന അധിക ജോലി.
ഈ ഡോക്യുമെന്റിന്റെ ആദ്യ വിഭാഗം ഒരു ഇനം ചെക്ക്ലിസ്റ്റ് നൽകുന്നു; തുടർന്നുള്ള വിഭാഗങ്ങൾ
ലിസ്റ്റിലെ ഇനങ്ങളെക്കുറിച്ച് കൂടുതൽ വിശദമായ ചർച്ച നൽകുക. അവസാന ഭാഗം, "പൊതുവായത്
പിറ്റ്ഫാൾസ്", CPAN രചയിതാക്കൾ വരുത്തിയ ഏറ്റവും ജനപ്രിയമായ ചില തെറ്റുകൾ വിവരിക്കുന്നു.
ദ്രുത ചെക്ക്ലിസ്റ്റ്
ഈ ചെക്ക്ലിസ്റ്റിലെ ഓരോ ഇനത്തെയും കുറിച്ചുള്ള കൂടുതൽ വിശദാംശങ്ങൾക്ക്, താഴെ കാണുക.
മുമ്പ് നിങ്ങളെ തുടക്കം
· വീൽ വീണ്ടും കണ്ടുപിടിക്കരുത്
സാധ്യമാകുന്നിടത്ത് നിലവിലുള്ള മൊഡ്യൂൾ പാച്ച് ചെയ്യുക, വിപുലീകരിക്കുക അല്ലെങ്കിൽ സബ്ക്ലാസ് ചെയ്യുക
· ഒരു കാര്യം ചെയ്യുക, അത് നന്നായി ചെയ്യുക
· അനുയോജ്യമായ ഒരു പേര് തിരഞ്ഞെടുക്കുക
· പ്രസിദ്ധീകരിക്കുന്നതിന് മുമ്പ് ഫീഡ്ബാക്ക് നേടുക
ദി എപിഐ
API ശരാശരി പ്രോഗ്രാമർക്ക് മനസ്സിലാക്കാവുന്നതായിരിക്കണം
· ലളിതമായ ജോലികൾക്കുള്ള ലളിതമായ രീതികൾ
· ഔട്ട്പുട്ടിൽ നിന്ന് പ്രവർത്തനക്ഷമത വേർതിരിക്കുക
· സബ്റൂട്ടീനുകളുടെ അല്ലെങ്കിൽ രീതികളുടെ സ്ഥിരമായ നാമകരണം
· രണ്ടിൽ കൂടുതൽ പരാമീറ്ററുകൾ ഉള്ളപ്പോൾ പേരുള്ള പാരാമീറ്ററുകൾ (ഒരു ഹാഷ് അല്ലെങ്കിൽ ഹാഷ്രെഫ്) ഉപയോഗിക്കുക
ഉറപ്പ്
· നിങ്ങളുടെ മൊഡ്യൂൾ "സ്ട്രിക്റ്റ് ഉപയോഗിക്കുക", "-w" എന്നിവയ്ക്ക് കീഴിൽ പ്രവർത്തിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക
· സ്ഥിരതയുള്ള മൊഡ്യൂളുകൾ പിന്നോക്ക അനുയോജ്യത നിലനിർത്തണം
വിവരണക്കുറിപ്പു്
· POD-ൽ ഡോക്യുമെന്റേഷൻ എഴുതുക
ഡോക്യുമെന്റ് ഉദ്ദേശ്യം, വ്യാപ്തി, ടാർഗെറ്റ് ആപ്ലിക്കേഷനുകൾ
· പാരാമുകളും റിട്ടേണും ഉൾപ്പെടെ, പൊതുവായി ആക്സസ് ചെയ്യാവുന്ന ഓരോ രീതിയും അല്ലെങ്കിൽ സബ്റൂട്ടീനും രേഖപ്പെടുത്തുക
മൂല്യങ്ങൾ
· നിങ്ങളുടെ ഡോക്യുമെന്റേഷനിലെ ഉപയോഗത്തിന്റെ ഉദാഹരണങ്ങൾ നൽകുക
· ഒരു README ഫയൽ നൽകുക, ഒരുപക്ഷേ കുറിപ്പുകൾ, ചേഞ്ച്ലോഗ് മുതലായവ റിലീസ് ചെയ്യുക
· കൂടുതൽ വിവരങ്ങളിലേക്കുള്ള ലിങ്കുകൾ നൽകുക (URL, ഇമെയിൽ)
റിലീസ് പരിഗണനകൾ
· Makefile.PL അല്ലെങ്കിൽ Build.PL എന്നതിൽ പ്രീ-ആവശ്യകതകൾ വ്യക്തമാക്കുക
"ഉപയോഗം" ഉപയോഗിച്ച് പേൾ പതിപ്പ് ആവശ്യകതകൾ വ്യക്തമാക്കുക
· നിങ്ങളുടെ മൊഡ്യൂളിനൊപ്പം ടെസ്റ്റുകൾ ഉൾപ്പെടുത്തുക
· യുക്തിസഹവും സ്ഥിരതയുള്ളതുമായ ഒരു പതിപ്പ് നമ്പറിംഗ് സ്കീം തിരഞ്ഞെടുക്കുക (X.YY എന്നത് സാധാരണ Perl ആണ്
മൊഡ്യൂൾ നമ്പറിംഗ് സ്കീം)
· എത്ര ചെറുതാണെങ്കിലും ഓരോ മാറ്റത്തിനും പതിപ്പ് നമ്പർ വർദ്ധിപ്പിക്കുക
· "make dist" ഉപയോഗിച്ച് മൊഡ്യൂൾ പാക്കേജ് ചെയ്യുക
ഉചിതമായ ഒരു ലൈസൻസ് തിരഞ്ഞെടുക്കുക (GPL/ആർട്ടിസ്റ്റിക് ഒരു നല്ല ഡിഫോൾട്ടാണ്)
മുന്നമേ അവിടുന്നാണ് ആരംഭം എഴുത്തു A മൊഡ്യൂൾ
കുറച്ച് സമയം ചിന്തിക്കാതെ നിങ്ങളുടെ മൊഡ്യൂൾ വികസിപ്പിക്കുന്നതിന് തലയൂരാതിരിക്കാൻ ശ്രമിക്കുക
ആദ്യം. ഒരു ചെറിയ മുൻകരുതൽ നിങ്ങൾക്ക് പിന്നീട് ഒരു വലിയ പരിശ്രമം ലാഭിച്ചേക്കാം.
ഉണ്ട് it ആകുമായിരുന്നു ചെയ്തു മുമ്പ്?
നിങ്ങൾക്ക് മൊഡ്യൂൾ എഴുതേണ്ടതില്ല. ഇത് ഇതിനകം പേളിൽ ചെയ്തിട്ടുണ്ടോയെന്ന് പരിശോധിക്കുക,
നിങ്ങൾക്ക് നല്ല കാരണമില്ലെങ്കിൽ ചക്രം വീണ്ടും കണ്ടുപിടിക്കുന്നത് ഒഴിവാക്കുക.
നിലവിലുള്ള മൊഡ്യൂളുകൾക്കായി തിരയാനുള്ള നല്ല സ്ഥലങ്ങൾ ഉൾപ്പെടുന്നുhttp://search.cpan.org/> കൂടാതെ
ഒപ്പം ചോദിക്കുന്നു "module-authors@perl.org"
(<http://lists.perl.org/list/module-authors.html>).
നിലവിലുള്ള ഒരു മൊഡ്യൂൾ ആണെങ്കിൽ ഏതാണ്ട് നിങ്ങൾ ആഗ്രഹിക്കുന്നത് ചെയ്യുന്നു, ഒരു പാച്ച് എഴുതുന്നത് പരിഗണിക്കുക, എ എഴുതുക
സബ്ക്ലാസ്, അല്ലെങ്കിൽ നിലവിലുള്ള മൊഡ്യൂൾ വീണ്ടും എഴുതുന്നതിനുപകരം വിപുലീകരിക്കുക.
Do ഒന്ന് വസ്തു ഒപ്പം do it കിണറ്
വ്യക്തമായത് പ്രസ്താവിക്കുന്നതിനുള്ള അപകടസാധ്യതയിൽ, മൊഡ്യൂളുകൾ മോഡുലാർ ആയിരിക്കാനാണ് ഉദ്ദേശിക്കുന്നത്. ഒരു പേൾ ഡെവലപ്പർ
അവരുടെ ആപ്ലിക്കേഷന്റെ ബിൽഡിംഗ് ബ്ലോക്കുകൾ കൂട്ടിച്ചേർക്കുന്നതിന് മൊഡ്യൂളുകൾ ഉപയോഗിക്കാൻ കഴിയണം.
എന്നിരുന്നാലും, ബ്ലോക്കുകൾ ശരിയായ ആകൃതിയും ഡെവലപ്പറും ആണെന്നത് പ്രധാനമാണ്
അവർക്ക് വേണ്ടത് ചെറുതാണെങ്കിൽ വലിയൊരു ബ്ലോക്ക് ഉപയോഗിക്കേണ്ടതില്ല.
നിങ്ങളുടെ മൊഡ്യൂളിന് വ്യക്തമായി നിർവചിക്കപ്പെട്ട ഒരു വ്യാപ്തി ഉണ്ടായിരിക്കണം, അത് ഒരൊറ്റ വാക്യത്തിൽ കൂടുതലല്ല.
നിങ്ങളുടെ മൊഡ്യൂളിനെ അനുബന്ധ മൊഡ്യൂളുകളുടെ ഒരു കുടുംബമായി വിഭജിക്കാൻ കഴിയുമോ?
മോശം ഉദാഹരണം:
"FooBar.pm FOO പ്രോട്ടോക്കോളും അനുബന്ധ BAR സ്റ്റാൻഡേർഡും നടപ്പിലാക്കുന്നു."
നല്ല ഉദാഹരണം:
"Foo.pm FOO പ്രോട്ടോക്കോൾ നടപ്പിലാക്കുന്നു. Bar.pm ബന്ധപ്പെട്ട BAR നടപ്പിലാക്കുന്നു
പ്രോട്ടോക്കോൾ."
ഇതിനർത്ഥം, ഒരു ഡെവലപ്പർക്ക് BAR സ്റ്റാൻഡേർഡിനായി ഒരു മൊഡ്യൂൾ മാത്രമേ ആവശ്യമുള്ളൂവെങ്കിൽ, അവർ അത് പാടില്ല എന്നാണ്
FOO-യ്ക്കും ലൈബ്രറികൾ ഇൻസ്റ്റാൾ ചെയ്യാൻ നിർബന്ധിതരാകും.
എന്താണ് in a പേര്?
നേരത്തെ തന്നെ നിങ്ങളുടെ മൊഡ്യൂളിന് അനുയോജ്യമായ ഒരു പേര് തിരഞ്ഞെടുത്തുവെന്ന് ഉറപ്പാക്കുക. ഇത് ആളുകളെ സഹായിക്കും
നിങ്ങളുടെ മൊഡ്യൂൾ കണ്ടെത്തി ഓർമ്മിക്കുക, നിങ്ങളുടെ മൊഡ്യൂൾ ഉപയോഗിച്ച് പ്രോഗ്രാമിംഗ് കൂടുതൽ അവബോധജന്യമാക്കുക.
നിങ്ങളുടെ മൊഡ്യൂളിന് പേര് നൽകുമ്പോൾ, ഇനിപ്പറയുന്നവ പരിഗണിക്കുക:
· വിവരണാത്മകമായിരിക്കുക (അതായത്, മൊഡ്യൂളിന്റെ ഉദ്ദേശ്യം കൃത്യമായി വിവരിക്കുന്നു).
· നിലവിലുള്ള മൊഡ്യൂളുകളുമായി പൊരുത്തപ്പെടുക.
· മൊഡ്യൂളിന്റെ പ്രവർത്തനക്ഷമത പ്രതിഫലിപ്പിക്കുക, നടപ്പാക്കലല്ല.
ഒരു പുതിയ ഉയർന്ന തലത്തിലുള്ള ശ്രേണി ആരംഭിക്കുന്നത് ഒഴിവാക്കുക, പ്രത്യേകിച്ചും അനുയോജ്യമായ ഒരു ശ്രേണി ഇതിനകം ഉണ്ടെങ്കിൽ
നിങ്ങളുടെ മൊഡ്യൂൾ സ്ഥാപിക്കുന്നതിന് കീഴിൽ നിലവിലുണ്ട്.
നേടുക ഫീഡ്ബാക്ക് മുമ്പ് പ്രസിദ്ധീകരിക്കുന്നു
നിങ്ങൾ മുമ്പ് CPAN-ലേക്ക് ഒരു മൊഡ്യൂൾ അപ്ലോഡ് ചെയ്തിട്ടില്ലെങ്കിൽ (നിങ്ങൾക്ക് ഉണ്ടെങ്കിൽ പോലും).
PrePAN-നെക്കുറിച്ചുള്ള ഫീഡ്ബാക്ക് ലഭിക്കാൻ ശക്തമായി പ്രോത്സാഹിപ്പിക്കുന്നുhttp://prepan.org>. PrePAN ഒരു സൈറ്റാണ്
മറ്റ് പേൾ ഡെവലപ്പർമാരുമായി CPAN മൊഡ്യൂളുകൾക്കായുള്ള ആശയങ്ങൾ ചർച്ച ചെയ്യാൻ സമർപ്പിതമാണ്
പുതിയ (പരിചയമുള്ള) പേൾ ഡെവലപ്പർമാർക്കുള്ള റിസോഴ്സ്.
മൊഡ്യൂളുമായി ഇതിനകം പരിചിതരായ ആളുകളിൽ നിന്ന് ഫീഡ്ബാക്ക് നേടാനും നിങ്ങൾ ശ്രമിക്കണം
ആപ്ലിക്കേഷൻ ഡൊമെയ്നും CPAN നാമകരണ സംവിധാനവും. സമാന മൊഡ്യൂളുകളുടെ അല്ലെങ്കിൽ മൊഡ്യൂളുകളുടെ രചയിതാക്കൾ
സമാനമായ പേരുകളുള്ള, പേൾ മോങ്സ് പോലുള്ള കമ്മ്യൂണിറ്റി സൈറ്റുകൾ പോലെ, ആരംഭിക്കാനുള്ള നല്ലൊരു സ്ഥലമായിരിക്കാം
<http://www.perlmonks.org>.
ഡിസൈനിംഗ് ഒപ്പം എഴുത്തു നിങ്ങളുടെ മൊഡ്യൂൾ
മൊഡ്യൂൾ രൂപകൽപ്പനയ്ക്കും കോഡിംഗിനുമുള്ള പരിഗണനകൾ:
ലേക്ക് OO or അല്ല ലേക്ക് OO?
നിങ്ങളുടെ മൊഡ്യൂൾ ഒബ്ജക്റ്റ് ഓറിയന്റഡ് ആയിരിക്കാം (OO) അല്ലെങ്കിൽ അല്ല, അല്ലെങ്കിൽ അതിന് രണ്ട് തരത്തിലുള്ള ഇന്റർഫേസുകളും ഉണ്ടായിരിക്കാം
ലഭ്യമാണ്. ഓരോ സാങ്കേതികതയ്ക്കും ഗുണങ്ങളും ദോഷങ്ങളുമുണ്ട്, അത് നിങ്ങൾ എപ്പോൾ പരിഗണിക്കണം
നിങ്ങളുടെ API രൂപകൽപ്പന ചെയ്യുക.
In പേൾ മികച്ച പ്രാക്ടീസുകൾ (പകർപ്പവകാശം 2004, O'Reilly Media, Inc. പ്രസിദ്ധീകരിച്ചത്), ഡാമിയൻ കോൺവേ
OO നിങ്ങളുടെ പ്രശ്നത്തിന് അനുയോജ്യമാണോ എന്ന് തീരുമാനിക്കുമ്പോൾ ഉപയോഗിക്കേണ്ട മാനദണ്ഡങ്ങളുടെ ഒരു ലിസ്റ്റ് നൽകുന്നു:
· രൂപകൽപ്പന ചെയ്യുന്ന സിസ്റ്റം വലുതാണ്, അല്ലെങ്കിൽ വലുതാകാൻ സാധ്യതയുണ്ട്.
· ഡാറ്റ വ്യക്തമായ ഘടനകളിലേക്ക് സമാഹരിക്കാൻ കഴിയും, പ്രത്യേകിച്ചും വലുതാണെങ്കിൽ
ഓരോ അഗ്രഗേറ്റിലെയും ഡാറ്റയുടെ അളവ്.
· വിവിധ തരത്തിലുള്ള ഡാറ്റ സംഗ്രഹം ഉപയോഗത്തെ സുഗമമാക്കുന്ന ഒരു സ്വാഭാവിക ശ്രേണി ഉണ്ടാക്കുന്നു
അനന്തരാവകാശത്തിന്റെയും ബഹുരൂപതയുടെയും.
· നിങ്ങൾക്ക് നിരവധി വ്യത്യസ്ത പ്രവർത്തനങ്ങൾ പ്രയോഗിക്കുന്ന ഡാറ്റയുടെ ഒരു ഭാഗം ഉണ്ട്.
· അനുബന്ധ തരത്തിലുള്ള ഡാറ്റകളിൽ നിങ്ങൾ ഒരേ പൊതുവായ പ്രവർത്തനങ്ങൾ നടത്തേണ്ടതുണ്ട്, എന്നാൽ
പ്രവർത്തനങ്ങൾ പ്രയോഗിക്കുന്ന നിർദ്ദിഷ്ട തരം ഡാറ്റയെ ആശ്രയിച്ച് ചെറിയ വ്യത്യാസങ്ങൾ
ടു.
· നിങ്ങൾ പിന്നീട് പുതിയ ഡാറ്റ തരങ്ങൾ ചേർക്കേണ്ടതായി വരാം.
· ഡാറ്റാ കഷണങ്ങൾ തമ്മിലുള്ള സാധാരണ ഇടപെടലുകൾ ഓപ്പറേറ്റർമാർ മികച്ച രീതിയിൽ പ്രതിനിധീകരിക്കുന്നു.
· സിസ്റ്റത്തിന്റെ വ്യക്തിഗത ഘടകങ്ങളുടെ നടപ്പാക്കൽ മാറാൻ സാധ്യതയുണ്ട്
സമയം.
· സിസ്റ്റം ഡിസൈൻ ഇതിനകം ഒബ്ജക്റ്റ് ഓറിയന്റഡ് ആണ്.
· മറ്റ് പ്രോഗ്രാമർമാരുടെ വലിയൊരു എണ്ണം നിങ്ങളുടെ കോഡ് മൊഡ്യൂളുകൾ ഉപയോഗിക്കും.
OO നിങ്ങളുടെ മൊഡ്യൂളിന് അനുയോജ്യമാണോ എന്ന് ശ്രദ്ധാപൂർവ്വം ചിന്തിക്കുക. സൗജന്യ വസ്തു
സാധാരണ മൊഡ്യൂൾ ഉപയോക്താവിന് ബുദ്ധിമുട്ടുള്ള സങ്കീർണ്ണമായ API-കളിൽ ഓറിയന്റേഷൻ ഫലം നൽകുന്നു
മനസ്സിലാക്കുക അല്ലെങ്കിൽ ഉപയോഗിക്കുക.
ഡിസൈനിങ്ങ് നിങ്ങളുടെ എപിഐ
നിങ്ങളുടെ ഇന്റർഫേസുകൾ ഒരു ശരാശരി Perl പ്രോഗ്രാമർക്ക് മനസ്സിലാക്കാവുന്നതായിരിക്കണം. ഇനിപ്പറയുന്നവ
നിങ്ങളുടെ API വേണ്ടത്ര ലളിതമാണോ എന്ന് വിലയിരുത്താൻ മാർഗ്ഗനിർദ്ദേശങ്ങൾ നിങ്ങളെ സഹായിച്ചേക്കാം:
ലളിതമായ കാര്യങ്ങൾ ചെയ്യാൻ ലളിതമായ ദിനചര്യകൾ എഴുതുക.
കുറച്ച് മോണോലിത്തിക്ക് ദിനചര്യകളേക്കാൾ ലളിതമായ നിരവധി ദിനചര്യകൾ ഉണ്ടായിരിക്കുന്നതാണ് നല്ലത്. എങ്കിൽ നിങ്ങളുടെ
പതിവ് അതിന്റെ വാദങ്ങളെ അടിസ്ഥാനമാക്കി അതിന്റെ സ്വഭാവത്തെ ഗണ്യമായി മാറ്റുന്നു, ഇത് ഒരു അടയാളമാണ്
നിങ്ങൾക്ക് രണ്ടോ അതിലധികമോ പ്രത്യേക ദിനചര്യകൾ ഉണ്ടായിരിക്കണം.
ഔട്ട്പുട്ടിൽ നിന്ന് പ്രവർത്തനക്ഷമത വേർതിരിക്കുക.
സാധ്യമായ ഏറ്റവും സാധാരണമായ രൂപത്തിൽ നിങ്ങളുടെ ഫലങ്ങൾ തിരികെ നൽകുകയും എങ്ങനെ എന്ന് തിരഞ്ഞെടുക്കാൻ ഉപയോക്താവിനെ അനുവദിക്കുകയും ചെയ്യുക
അവരെ ഉപയോഗിക്കാൻ. സാധ്യമായ ഏറ്റവും സാധാരണമായ രൂപം സാധാരണയായി ഒരു പേൾ ഡാറ്റ ഘടനയാണ്
പിന്നീട് ഒരു ടെക്സ്റ്റ് റിപ്പോർട്ട്, HTML, XML, ഒരു ഡാറ്റാബേസ് അന്വേഷണം അല്ലെങ്കിൽ മറ്റെന്തെങ്കിലും സൃഷ്ടിക്കാൻ ഉപയോഗിക്കാം
അല്ലെങ്കിൽ നിങ്ങളുടെ ഉപയോക്താക്കൾ ആവശ്യപ്പെടുന്നു.
നിങ്ങളുടെ ദിനചര്യ ഏതെങ്കിലും തരത്തിലുള്ള ലിസ്റ്റിലൂടെ ആവർത്തിക്കുകയാണെങ്കിൽ (ഫയലുകളുടെ ഒരു ലിസ്റ്റ്, അല്ലെങ്കിൽ
ഒരു ഡാറ്റാബേസിലെ റെക്കോർഡുകൾ) ഉപയോക്താക്കൾക്ക് കഴിയുന്ന തരത്തിൽ ഒരു കോൾബാക്ക് നൽകുന്നത് നിങ്ങൾക്ക് പരിഗണിക്കാവുന്നതാണ്
പട്ടികയിലെ ഓരോ ഘടകങ്ങളും ക്രമത്തിൽ കൈകാര്യം ചെയ്യുക. File::Find ഇതിനൊരു ഉദാഹരണം നൽകുന്നു
അതിന്റെ "കണ്ടെത്തുക(\&വാണ്ട്, $dir)" വാക്യഘടനയോടൊപ്പം.
സുബോധമുള്ള കുറുക്കുവഴികളും ഡിഫോൾട്ടുകളും നൽകുക.
ലളിതമായത് നേടുന്നതിന് എല്ലാ മൊഡ്യൂൾ ഉപയോക്താവും ഒരേ വളവുകളിലൂടെ ചാടേണ്ട ആവശ്യമില്ല
ഫലമായി. നിങ്ങൾക്ക് എല്ലായ്പ്പോഴും ഓപ്ഷണൽ പാരാമീറ്ററുകൾ അല്ലെങ്കിൽ കൂടുതൽ സങ്കീർണ്ണമായ അല്ലെങ്കിൽ ദിനചര്യകൾ ഉൾപ്പെടുത്താം
നിലവാരമില്ലാത്ത പെരുമാറ്റം. നിങ്ങളുടെ മിക്ക ഉപയോക്താക്കളും ഏതാണ്ട് സമാനമായ കുറച്ച് ടൈപ്പ് ചെയ്യണമെങ്കിൽ
അവർ നിങ്ങളുടെ മൊഡ്യൂൾ ഉപയോഗിക്കാൻ തുടങ്ങുമ്പോൾ കോഡിന്റെ വരികൾ, നിങ്ങൾ ഉണ്ടാക്കേണ്ടതായിരുന്നു എന്നതിന്റെ സൂചനയാണിത്
ആ പെരുമാറ്റം ഒരു സ്ഥിരസ്ഥിതിയാണ്. നിങ്ങൾ ഡിഫോൾട്ടുകൾ ഉപയോഗിക്കേണ്ട മറ്റൊരു നല്ല സൂചകം എങ്കിൽ
നിങ്ങളുടെ മിക്ക ഉപയോക്താക്കളും ഇതേ ആർഗ്യുമെന്റുകൾ ഉപയോഗിച്ച് നിങ്ങളുടെ ദിനചര്യകളെ വിളിക്കുന്നു.
പേരിടൽ കൺവെൻഷനുകൾ
നിങ്ങളുടെ പേരിടൽ സ്ഥിരതയുള്ളതായിരിക്കണം. ഉദാഹരണത്തിന്, ഉണ്ടായിരിക്കുന്നതാണ് നല്ലത്:
display_day();
display_week();
display_year();
അധികം
display_day();
ആഴ്ച_പ്രദർശനം();
show_year();
രീതിയുടെ പേരുകൾ, പാരാമീറ്റർ നാമങ്ങൾ, കൂടാതെ മറ്റെന്തെങ്കിലും കാര്യത്തിനും ഇത് ഒരുപോലെ ബാധകമാണ്
ഉപയോക്താവിന് ദൃശ്യമാണ് (അല്ലാത്ത മിക്ക കാര്യങ്ങളും!)
പാരാമീറ്റർ കടന്നുപോകുന്നു
പേരുള്ള പാരാമീറ്ററുകൾ ഉപയോഗിക്കുക. ഇതുപോലുള്ള ഒരു ഹാഷ് ഉപയോഗിക്കുന്നത് എളുപ്പമാണ്:
$obj->do_something(
പേര് => "വിബിൾ",
ടൈപ്പ് => "ടെക്സ്റ്റ്",
വലിപ്പം => 1024,
);
... ഇതുപോലുള്ള പേരിടാത്ത പരാമീറ്ററുകളുടെ ഒരു നീണ്ട ലിസ്റ്റ് ഉള്ളതിനേക്കാൾ:
$obj->do_something("wibble", "text", 1024);
ആർഗ്യുമെന്റുകളുടെ ലിസ്റ്റ് ഒന്നോ രണ്ടോ മൂന്നോ ആർഗ്യുമെന്റുകൾക്ക് പോലും നന്നായി പ്രവർത്തിച്ചേക്കാം
കൂടുതൽ ആർഗ്യുമെന്റുകൾ മൊഡ്യൂൾ ഉപയോക്താവിന് ഓർമ്മിക്കാൻ ബുദ്ധിമുട്ടാണ്, കൂടാതെ മൊഡ്യൂളിന് ബുദ്ധിമുട്ടാണ്
കൈകാര്യം ചെയ്യാൻ രചയിതാവ്. നിങ്ങൾക്ക് ഒരു പുതിയ പാരാമീറ്റർ ചേർക്കണമെങ്കിൽ അത് നിങ്ങൾ ഇതിലേക്ക് ചേർക്കേണ്ടതുണ്ട്
ബാക്ക്വേർഡ് കോംപാറ്റിബിളിറ്റിക്കായുള്ള പട്ടികയുടെ അവസാനം, ഇത് നിങ്ങളുടെ ലിസ്റ്റ് ഉണ്ടാക്കും
അവബോധജന്യമല്ലാത്ത ഓർഡർ. കൂടാതെ, പല ഘടകങ്ങളും നിർവചിക്കപ്പെട്ടിട്ടില്ലെങ്കിൽ നിങ്ങൾക്ക് ഇനിപ്പറയുന്നവ കാണാനാകും
ആകർഷകമല്ലാത്ത രീതി കോളുകൾ:
$obj->do_something (undef, undef, undef, undef, undef, 1024);
അവയുള്ള പരാമീറ്ററുകൾക്കായി സെൻസിബിൾ ഡിഫോൾട്ടുകൾ നൽകുക. നിങ്ങളുടെ ഉപയോക്താക്കളെ ഉണ്ടാക്കരുത്
മിക്കവാറും എല്ലായ്പ്പോഴും സമാനമായ പാരാമീറ്ററുകൾ വ്യക്തമാക്കുക.
ആർഗ്യുമെന്റുകൾ ഒരു ഹാഷിൽ അല്ലെങ്കിൽ ഒരു ഹാഷ്റെഫിൽ പാസാക്കണമോ എന്നത് വലിയൊരു വിഷയമാണ്
വ്യക്തിഗത ശൈലിയുടെ.
ഒരു ഹൈഫനിൽ ("-name") ആരംഭിക്കുന്ന ഹാഷ് കീകളുടെ ഉപയോഗം അല്ലെങ്കിൽ പൂർണ്ണമായും വലിയ അക്ഷരത്തിൽ
("NAME") സാധാരണ ചെറിയ അക്ഷര സ്ട്രിംഗുകളുള്ള Perl-ന്റെ പഴയ പതിപ്പുകളുടെ ഒരു അവശിഷ്ടമാണ്
"=>" ഓപ്പറേറ്റർ ശരിയായി കൈകാര്യം ചെയ്തില്ല. ചില മൊഡ്യൂളുകൾ വലിയക്ഷരം നിലനിർത്തുമ്പോൾ
അല്ലെങ്കിൽ ചരിത്രപരമായ കാരണങ്ങളാൽ അല്ലെങ്കിൽ വ്യക്തിഗത ശൈലിയുടെ കാര്യത്തിൽ ഹൈഫനേറ്റഡ് ആർഗ്യുമെന്റ് കീകൾ,
മിക്ക പുതിയ മൊഡ്യൂളുകളും ലളിതമായ ലോവർ കെയ്സ് കീകൾ ഉപയോഗിക്കണം. നിങ്ങൾ തിരഞ്ഞെടുക്കുന്നതെന്തും ആകുക
സ്ഥിരതയുള്ള!
കർശനത ഒപ്പം മുന്നറിയിപ്പുകൾ
നിങ്ങളുടെ മൊഡ്യൂൾ കർശനമായ പ്രാഗ്മയ്ക്ക് കീഴിൽ വിജയകരമായി പ്രവർത്തിക്കുകയും കൂടാതെ പ്രവർത്തിക്കുകയും വേണം
ഏതെങ്കിലും മുന്നറിയിപ്പുകൾ സൃഷ്ടിക്കുന്നു. ഉചിതമായിടത്ത് നിങ്ങളുടെ മൊഡ്യൂൾ കളങ്കപരിശോധനയും കൈകാര്യം ചെയ്യണം,
ഇത് പല കേസുകളിലും ബുദ്ധിമുട്ടുകൾ ഉണ്ടാക്കിയേക്കാം.
പിന്നിലേക്ക് അനുയോജ്യത
"സ്ഥിരതയുള്ള" മൊഡ്യൂളുകൾ കുറഞ്ഞത് ഒരു ഇല്ലാതെ ബാക്ക്വേർഡ് കോംപാറ്റിബിളിറ്റി തകർക്കാൻ പാടില്ല
ദൈർഘ്യമേറിയ പരിവർത്തന ഘട്ടവും പതിപ്പ് നമ്പറിലെ പ്രധാന മാറ്റവും.
പിശക് കൈകാര്യം ചെയ്യൽ ഒപ്പം സന്ദേശങ്ങൾ
നിങ്ങളുടെ മൊഡ്യൂളിന് ഒരു പിശക് നേരിടുമ്പോൾ അത് ഒന്നോ അതിലധികമോ ചെയ്യണം:
· നിർവചിക്കാത്ത മൂല്യം തിരികെ നൽകുക.
$Module::errstr അല്ലെങ്കിൽ സമാനമായത് ("errstr" എന്നത് DBI ഉം മറ്റും ഉപയോഗിക്കുന്ന ഒരു പൊതുനാമമാണ്
ജനപ്രിയ മൊഡ്യൂളുകൾ; നിങ്ങൾ മറ്റെന്തെങ്കിലും തിരഞ്ഞെടുക്കുകയാണെങ്കിൽ, അത് വ്യക്തമായി രേഖപ്പെടുത്തുന്നത് ഉറപ്പാക്കുക).
STDERR എന്നതിനുള്ള സന്ദേശം "മുന്നറിയിപ്പ്()" അല്ലെങ്കിൽ "കാർപ്പ്()".
നിങ്ങളുടെ മൊഡ്യൂളിന് എന്താണ് ചെയ്യേണ്ടതെന്ന് മനസ്സിലാക്കാൻ കഴിയാത്തപ്പോൾ മാത്രം "ക്രോക്ക്()". ("ക്രോക്ക്()"
മൊഡ്യൂളുകൾക്കുള്ളിൽ ഉപയോഗിക്കുന്നതിന് "die()" ന്റെ മികച്ച പതിപ്പാണ്, അതിൽ നിന്ന് അതിന്റെ പിശകുകൾ റിപ്പോർട്ട് ചെയ്യുന്നു
വിളിക്കുന്നയാളുടെ വീക്ഷണം. "ക്രോക്ക്()", "കാർപ്പ്()" എന്നിവയുടെ വിശദാംശങ്ങൾക്ക് കാർപ്പ് കാണുക
ഉപയോഗപ്രദമായ ദിനചര്യകൾ.)
· മുകളിൽ പറഞ്ഞവയ്ക്ക് പകരമായി, പിശക് ഉപയോഗിച്ച് ഒഴിവാക്കലുകൾ ഇടാൻ നിങ്ങൾ താൽപ്പര്യപ്പെട്ടേക്കാം
ഘടകം.
കോൺഫിഗർ ചെയ്യാവുന്ന പിശക് കൈകാര്യം ചെയ്യുന്നത് നിങ്ങളുടെ ഉപയോക്താക്കൾക്ക് വളരെ ഉപയോഗപ്രദമാകും. ഒരു തിരഞ്ഞെടുപ്പ് വാഗ്ദാനം ചെയ്യുന്നത് പരിഗണിക്കുക
മുന്നറിയിപ്പ്, ഡീബഗ് സന്ദേശങ്ങൾക്കുള്ള ലെവലുകൾ, ഒരു പ്രത്യേക ഫയലിലേക്ക് സന്ദേശങ്ങൾ അയയ്ക്കുന്നതിനുള്ള ഒരു ഓപ്ഷൻ, a
ഒരു പിശക് കൈകാര്യം ചെയ്യുന്ന പതിവ് അല്ലെങ്കിൽ മറ്റ് അത്തരം സവിശേഷതകൾ വ്യക്തമാക്കുന്നതിനുള്ള വഴി. എല്ലാം ഡിഫോൾട്ട് ആണെന്ന് ഉറപ്പാക്കുക
ഈ ഓപ്ഷനുകൾ ഏറ്റവും സാധാരണമായ ഉപയോഗത്തിനായി.
ഡോക്യുമെന്റിംഗ് നിങ്ങളുടെ മൊഡ്യൂൾ
പാകമായ
നിങ്ങളുടെ മൊഡ്യൂളിൽ പേൾ ഡെവലപ്പർമാരെ ലക്ഷ്യമിട്ടുള്ള ഡോക്യുമെന്റേഷൻ ഉൾപ്പെടുത്തണം. നിങ്ങൾ പേൾ ഉപയോഗിക്കണം
നിങ്ങളുടെ പൊതുവായ സാങ്കേതിക ഡോക്യുമെന്റേഷനായി "പ്ലെയിൻ ഓൾഡ് ഡോക്യുമെന്റേഷൻ" (പിഒഡി).
മറ്റു ചിലതിൽ അധിക ഡോക്യുമെന്റേഷൻ (വൈറ്റ് പേപ്പറുകൾ, ട്യൂട്ടോറിയലുകൾ മുതലായവ) എഴുതാൻ ആഗ്രഹിക്കുന്നു
ഫോർമാറ്റ്. ഇനിപ്പറയുന്ന വിഷയങ്ങൾ നിങ്ങൾ കവർ ചെയ്യേണ്ടതുണ്ട്:
· മൊഡ്യൂളിന്റെ പൊതുവായ ഉപയോഗങ്ങളുടെ ഒരു സംഗ്രഹം
· നിങ്ങളുടെ മൊഡ്യൂളിന്റെ ഉദ്ദേശ്യം, വ്യാപ്തി, ടാർഗെറ്റ് ആപ്ലിക്കേഷനുകൾ
പാരാമീറ്ററുകൾ ഉൾപ്പെടെ, പൊതുവായി ആക്സസ് ചെയ്യാവുന്ന ഓരോ രീതിയുടെയും സബ്റൂട്ടീനിന്റെയും ഉപയോഗം
മൂല്യങ്ങൾ തിരികെ നൽകുക
· ഉപയോഗത്തിന്റെ ഉദാഹരണങ്ങൾ
· കൂടുതൽ വിവരങ്ങളുടെ ഉറവിടങ്ങൾ
· രചയിതാവിനെ/പരിപാലകനെ ബന്ധപ്പെടാനുള്ള ഇമെയിൽ വിലാസം
പേൾ മൊഡ്യൂൾ ഡോക്യുമെന്റേഷനിലെ വിശദാംശങ്ങളുടെ തലം സാധാരണയായി കുറച്ച് വിശദമായതിൽ നിന്ന് കൂടുതലായി പോകുന്നു
വിശദമായ. നിങ്ങളുടെ സിനോപ്സിസ് വിഭാഗത്തിൽ ഉപയോഗത്തിന്റെ ഏറ്റവും കുറഞ്ഞ ഉദാഹരണം അടങ്ങിയിരിക്കണം (ഒരുപക്ഷേ
ഒരു വരി കോഡ് പോലെ; അസാധാരണമായ ഉപയോഗ കേസുകൾ അല്ലെങ്കിൽ മിക്കവർക്കും ആവശ്യമില്ലാത്ത എന്തെങ്കിലും ഒഴിവാക്കുക
ഉപയോക്താക്കൾ); DESCRIPTION നിങ്ങളുടെ മൊഡ്യൂളിനെ വിശാലമായ പദങ്ങളിൽ വിവരിക്കേണ്ടതാണ്, സാധാരണയായി a
കുറച്ച് ഖണ്ഡികകൾ; മൊഡ്യൂളിന്റെ ദിനചര്യകൾ അല്ലെങ്കിൽ രീതികൾ, ദൈർഘ്യമേറിയ കോഡ് ഉദാഹരണങ്ങൾ, അല്ലെങ്കിൽ
മറ്റ് ആഴത്തിലുള്ള മെറ്റീരിയലുകൾ തുടർന്നുള്ള വിഭാഗങ്ങളിൽ നൽകണം.
നിങ്ങളുടെ മൊഡ്യൂളിനെക്കുറിച്ച് അൽപ്പം പരിചയമുള്ള ഒരാൾക്ക് അവരുടെ മോഡ്യൂൾ പുതുക്കാൻ കഴിയണം
"പേജ് ഡൗൺ" അമർത്താതെ മെമ്മറി. നിങ്ങളുടെ വായനക്കാരൻ പ്രമാണത്തിലൂടെ തുടരുമ്പോൾ, അവർ
ക്രമാനുഗതമായി കൂടുതൽ അറിവ് ലഭിക്കണം.
പേൾ മൊഡ്യൂൾ ഡോക്യുമെന്റേഷനിലെ വിഭാഗങ്ങളുടെ ശുപാർശ ചെയ്യുന്ന ക്രമം:
· NAME
· സിനോപ്സിസ്
· വിവരണം
· ഒന്നോ അതിലധികമോ വിഭാഗങ്ങൾ അല്ലെങ്കിൽ ഉപവിഭാഗങ്ങൾ ലഭ്യമായ രീതികളുടെ കൂടുതൽ വിശദാംശങ്ങൾ നൽകുന്നു
ദിനചര്യകളും മറ്റ് പ്രസക്തമായ വിവരങ്ങളും.
ബഗുകൾ/കുറവുകൾ/തുടങ്ങിയവ
· രചയിതാവ്
· ഇതും കാണുക
· പകർപ്പവകാശവും ലൈസൻസും
നിങ്ങളുടെ ഡോക്യുമെന്റേഷൻ അത് രേഖപ്പെടുത്തുന്ന കോഡിന് സമീപം സൂക്ഷിക്കുക ("ഇൻലൈൻ" ഡോക്യുമെന്റേഷൻ). POD ഉൾപ്പെടുത്തുക
ആ രീതിയുടെ സബ്റൂട്ടീന് മുകളിൽ നൽകിയിരിക്കുന്ന രീതിക്ക്. ഇത് സൂക്ഷിക്കുന്നത് എളുപ്പമാക്കുന്നു
ഡോക്യുമെന്റേഷൻ അപ് ടു ഡേറ്റ്, കൂടാതെ ഓരോ കോഡും രണ്ടുതവണ ഡോക്യുമെന്റ് ചെയ്യേണ്ടത് ഒഴിവാക്കുന്നു (ഒരിക്കൽ
POD കൂടാതെ അഭിപ്രായങ്ങളിൽ ഒരിക്കൽ).
README, ഇൻസ്റ്റാൾ ചെയ്യുക, റിലീസ് കുറിപ്പുകൾ, ചേഞ്ച്ലോഗുകൾ
നിങ്ങളുടെ മൊഡ്യൂളിൽ മൊഡ്യൂളിനെ വിവരിക്കുന്നതും പോയിന്ററുകൾ നൽകുന്നതുമായ ഒരു README ഫയലും ഉൾപ്പെടുത്തണം
കൂടുതൽ വിവരങ്ങൾ (വെബ്സൈറ്റ്, രചയിതാവ് ഇമെയിൽ).
ഒരു ഇൻസ്റ്റാൾ ഫയൽ ഉൾപ്പെടുത്തണം, കൂടാതെ ലളിതമായ ഇൻസ്റ്റലേഷൻ നിർദ്ദേശങ്ങൾ അടങ്ങിയിരിക്കണം.
ExtUtils:: MakeMaker ഉപയോഗിക്കുമ്പോൾ ഇത് സാധാരണയായി ഇതായിരിക്കും:
perl Makefile.PL
ഉണ്ടാക്കുക
പരീക്ഷ നടത്തുക
ഇൻസ്റ്റാൾ ചെയ്യുക
മൊഡ്യൂൾ ::ബിൽഡ് ഉപയോഗിക്കുമ്പോൾ, ഇത് സാധാരണയായി ഇതായിരിക്കും:
perl Build.PL
perl ബിൽഡ്
perl ബിൽഡ് ടെസ്റ്റ്
perl ബിൽഡ് ഇൻസ്റ്റാൾ
നിങ്ങളുടെ സോഫ്റ്റ്വെയറിന്റെ ഓരോ റിലീസിനും റിലീസ് നോട്ടുകളോ ചേഞ്ച്ലോഗുകളോ ഹാജരാക്കണം
ഉപയോക്താവിന് പ്രസക്തമായ രീതിയിൽ നിങ്ങളുടെ മൊഡ്യൂളിൽ ഉപയോക്താവിന് ദൃശ്യമാകുന്ന മാറ്റങ്ങൾ വിവരിക്കുന്നു.
മറ്റേതെങ്കിലും ഫോർമാറ്റ് ഉപയോഗിക്കുന്നതിന് നിങ്ങൾക്ക് നല്ല കാരണങ്ങളില്ലെങ്കിൽ (ഉദാഹരണത്തിന്, ഉപയോഗിച്ച ഒരു ഫോർമാറ്റ്
നിങ്ങളുടെ കമ്പനിക്കുള്ളിൽ), നിങ്ങളുടെ ചേഞ്ച്ലോഗ് ഫയലിന് "മാറ്റങ്ങൾ" എന്ന് പേരിടുക എന്നതാണ് കൺവെൻഷൻ
CPAN:: മാറ്റങ്ങൾ:: സ്പെസിക്കിൽ വിവരിച്ചിരിക്കുന്ന ലളിതമായ ഫോർമാറ്റ് പിന്തുടരുക.
റിലീസ് ഗൂ ON ാലോചനകൾ
പതിപ്പ് നമ്പറിംഗ്
പതിപ്പ് നമ്പറുകൾ കുറഞ്ഞത് വലുതും ചെറുതുമായ റിലീസുകളെങ്കിലും സൂചിപ്പിക്കണം, ഒരുപക്ഷേ സബ്-മൈനർ
റിലീസ് ചെയ്യുന്നു. ഒരു പ്രധാന റിലീസാണ്, അതിൽ ഭൂരിഭാഗം പ്രവർത്തനങ്ങളും മാറിയതോ അല്ലെങ്കിൽ ഉള്ളതോ ആണ്
ഏത് പ്രധാന പുതിയ പ്രവർത്തനക്ഷമതയാണ് ചേർത്തിരിക്കുന്നത്. ഒരു ചെറിയ റിലീസാണ് ഒരു ചെറിയ തുക
പ്രവർത്തനക്ഷമത കൂട്ടിച്ചേർക്കുകയോ മാറ്റുകയോ ചെയ്തു. സബ്-മൈനർ പതിപ്പ് നമ്പറുകൾ സാധാരണയായി ഉപയോഗിക്കുന്നു
ഡോക്യുമെന്റേഷൻ പാച്ചുകൾ പോലെയുള്ള പ്രവർത്തനങ്ങളെ ബാധിക്കാത്ത മാറ്റങ്ങൾ.
ഏറ്റവും സാധാരണമായ CPAN പതിപ്പ് നമ്പറിംഗ് സ്കീം ഇതുപോലെ കാണപ്പെടുന്നു:
ക്സനുമ്ക്സ, ക്സനുമ്ക്സ, ക്സനുമ്ക്സ, ക്സനുമ്ക്സ, ക്സനുമ്ക്സ, ക്സനുമ്ക്സ, ക്സനുമ്ക്സ
ശരിയായ CPAN പതിപ്പ് നമ്പർ എന്നത്, അതിന് ശേഷം കുറഞ്ഞത് 2 അക്കങ്ങളുള്ള ഒരു ഫ്ലോട്ടിംഗ് പോയിന്റ് നമ്പറാണ്
ദശാംശം. ഉപയോഗിച്ച് ഇത് CPAN-ന് അനുരൂപമാണോ എന്ന് നിങ്ങൾക്ക് പരിശോധിക്കാവുന്നതാണ്
perl -MExtUtils::MakeMaker -le 'print MM->parse_version(shift)' 'Foo.pm'
നിങ്ങൾക്ക് ഒരു മൊഡ്യൂളിന്റെ 'ബീറ്റ' അല്ലെങ്കിൽ 'ആൽഫ' പതിപ്പ് റിലീസ് ചെയ്യണമെങ്കിൽ CPAN.pm ആവശ്യമില്ലെങ്കിൽ
ഏറ്റവും പുതിയ ഉപയോഗം എന്ന് ലിസ്റ്റ് ചെയ്യുക, സാധാരണ പതിപ്പ് നമ്പറിന് ശേഷം കുറഞ്ഞത് 2 എന്നതിന് ശേഷം ഒരു '_'
അക്കങ്ങൾ, ഉദാ. 1.20_01. നിങ്ങൾ ഇത് ചെയ്യുകയാണെങ്കിൽ, ഇനിപ്പറയുന്ന ഐഡിയം ശുപാർശ ചെയ്യുന്നു:
ഞങ്ങളുടെ $VERSION = "1.12_01"; # അതിനാൽ CPAN വിതരണത്തിന് ഉണ്ടായിരിക്കും
# ശരിയായ ഫയൽ നാമം
ഞങ്ങളുടെ $XS_VERSION = $VERSION; നിങ്ങൾക്ക് XS കോഡ് ഉണ്ടെങ്കിൽ മാത്രം # ആവശ്യമാണ്
$VERSION = eval $VERSION; # അതിനാൽ "മൊഡ്യൂൾ 0.002 ഉപയോഗിക്കുക" മുന്നറിയിപ്പ് നൽകില്ല
# അടിവരയിടുക
ആ ട്രിക്ക് ഉപയോഗിച്ച് മേക്ക് മേക്കർ ആദ്യ വരി മാത്രം വായിക്കുകയും അടിവരയിടുകയും ചെയ്യും,
perl വ്യാഖ്യാതാവ് $VERSION മൂല്യനിർണ്ണയം ചെയ്യുകയും സ്ട്രിംഗ് a ആക്കി മാറ്റുകയും ചെയ്യും
നമ്പർ. $VERSION ഒരു സംഖ്യയായി കണക്കാക്കുന്ന പിന്നീടുള്ള പ്രവർത്തനങ്ങൾക്ക് അങ്ങനെ ചെയ്യാൻ കഴിയും
$VERSION ഒരു സംഖ്യയല്ല എന്ന മുന്നറിയിപ്പിനെ പ്രകോപിപ്പിക്കാതെ.
വർധിപ്പിക്കാതെ ഒരിക്കലും ഒന്നും (ഒരു വാക്ക് ഡോക്യുമെന്റേഷൻ പാച്ച് പോലും) റിലീസ് ചെയ്യരുത്
നമ്പർ. ഒരു വാക്ക് ഡോക്യുമെന്റേഷൻ പാച്ച് പോലും പതിപ്പിൽ മാറ്റത്തിന് കാരണമാകും
സബ് മൈനർ ലെവൽ.
തിരഞ്ഞെടുത്തുകഴിഞ്ഞാൽ, എണ്ണം കുറയ്ക്കാതെ തന്നെ നിങ്ങളുടെ പതിപ്പ് സ്കീമിൽ ഉറച്ചുനിൽക്കേണ്ടത് പ്രധാനമാണ്
അക്കങ്ങളുടെ. കാരണം ഫ്രീബിഎസ്ഡി പോർട്ട് സിസ്റ്റം പോലുള്ള "ഡൗൺസ്ട്രീം" പാക്കേജറുകൾ,
പതിപ്പ് നമ്പറുകൾ വിവിധ രീതികളിൽ വ്യാഖ്യാനിക്കുക. നിങ്ങളുടെ അക്കങ്ങളുടെ എണ്ണം മാറ്റുകയാണെങ്കിൽ
പതിപ്പ് സ്കീം, നിങ്ങൾക്ക് ഈ സിസ്റ്റങ്ങളെ ആശയക്കുഴപ്പത്തിലാക്കാം, അങ്ങനെ അവ നിങ്ങളുടെ മൊഡ്യൂളിന്റെ പതിപ്പുകൾ പുറത്തെടുക്കും
ക്രമം, അത് വ്യക്തമായും മോശമാണ്.
പ്രീ-ആവശ്യകതകൾ
മൊഡ്യൂൾ രചയിതാക്കൾ മറ്റ് മൊഡ്യൂളുകളെ ആശ്രയിക്കേണ്ടതുണ്ടോ, ഏതൊക്കെയെന്ന് ശ്രദ്ധാപൂർവ്വം പരിഗണിക്കണം
ആശ്രയിക്കേണ്ട മൊഡ്യൂളുകൾ.
ഏറ്റവും പ്രധാനമായി, കഴിയുന്നത്ര സ്ഥിരതയുള്ള മൊഡ്യൂളുകൾ തിരഞ്ഞെടുക്കുക. മുൻഗണന ക്രമത്തിൽ:
· കോർ പേൾ മൊഡ്യൂളുകൾ
· സ്ഥിരതയുള്ള CPAN മൊഡ്യൂളുകൾ
· അസ്ഥിരമായ CPAN മൊഡ്യൂളുകൾ
· CPAN-ൽ നിന്ന് മൊഡ്യൂളുകൾ ലഭ്യമല്ല
നിങ്ങളുടെ പ്രീ-ആവശ്യകതകളിൽ മറ്റ് Perl മൊഡ്യൂളുകൾക്കായുള്ള പതിപ്പ് ആവശ്യകതകൾ വ്യക്തമാക്കുക
Makefile.PL അല്ലെങ്കിൽ Build.PL.
Makefile.PL അല്ലെങ്കിൽ Build.PL എന്നിവയിലും ഇതിലും Perl പതിപ്പിന്റെ ആവശ്യകതകൾ വ്യക്തമാക്കുന്നത് ഉറപ്പാക്കുക
"5.6.1 ആവശ്യമാണ്" അല്ലെങ്കിൽ സമാനമായത്. ഇതിനായി perlfunc-ൽ "require" എന്നതിന്റെ "VERSION ഉപയോഗിക്കുക" എന്ന വിഭാഗം കാണുക
വിശദാംശങ്ങൾ.
ടെസ്റ്റിംഗ്
എല്ലാ മൊഡ്യൂളുകളും വിതരണത്തിന് മുമ്പ് പരീക്ഷിക്കേണ്ടതാണ് ("മേക്ക് ഡിസ്റ്റസ്റ്റ്" ഉപയോഗിച്ച്), കൂടാതെ ടെസ്റ്റുകൾ
മൊഡ്യൂളുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്ന ആളുകൾക്കും ("make test" ഉപയോഗിച്ച്) ലഭ്യമാകണം. വേണ്ടി
മൊഡ്യൂൾ::Build നിങ്ങൾ "make test" എന്നതിന് തുല്യമായ "perl Build test" ഉപയോഗിക്കും.
ഈ ടെസ്റ്റുകളുടെ പ്രാധാന്യം ഒരു മൊഡ്യൂളിന്റെ സ്ഥിരതയ്ക്ക് ആനുപാതികമാണ്. എ
സുസ്ഥിരമായിരിക്കണമെന്നോ വ്യാപകമായ ഉപയോഗം പ്രതീക്ഷിക്കുന്നതോ ആയ മൊഡ്യൂൾ പാലിക്കേണ്ടതാണ്
കഴിയുന്നത്ര കർശനമായ പരിശോധനാ സംവിധാനം.
ടെസ്റ്റുകൾ എഴുതാൻ നിങ്ങളെ സഹായിക്കുന്നതിനുള്ള ഉപയോഗപ്രദമായ മൊഡ്യൂളുകൾ (നിങ്ങളുടെ വികസന പ്രക്രിയയിൽ കുറഞ്ഞ സ്വാധീനം അല്ലെങ്കിൽ
നിങ്ങളുടെ സമയം) ടെസ്റ്റ്:: സിമ്പിൾ, കാർപ്പ്:: അസെർട്ട്, ടെസ്റ്റ്:: ഇൻലൈൻ എന്നിവ ഉൾപ്പെടുന്നു. കൂടുതൽ സങ്കീർണ്ണമായവയ്ക്ക്
ടെസ്റ്റ് സ്യൂട്ടുകൾ അവിടെ ടെസ്റ്റ്:: കൂടുതൽ, ടെസ്റ്റ്:: മോക്ക് ഒബ്ജക്റ്റ് എന്നിവയാണ്.
പാക്കേജിംഗ്
സാധാരണ പാക്കേജിംഗ് ടൂളുകളിൽ ഒന്ന് ഉപയോഗിച്ച് മൊഡ്യൂളുകൾ പാക്കേജ് ചെയ്യണം. നിലവിൽ നിങ്ങൾക്ക് ഉണ്ട്
ExtUtils:: MakeMaker ഉം കൂടുതൽ പ്ലാറ്റ്ഫോം സ്വതന്ത്ര മൊഡ്യൂളും തമ്മിലുള്ള തിരഞ്ഞെടുപ്പ്:: Build,
മൊഡ്യൂളുകൾ സ്ഥിരമായ രീതിയിൽ ഇൻസ്റ്റാൾ ചെയ്യാൻ അനുവദിക്കുന്നു. ExtUtils ഉപയോഗിക്കുമ്പോൾ:: MakeMaker,
നിങ്ങളുടെ പാക്കേജ് സൃഷ്ടിക്കാൻ "make dist" ഉപയോഗിക്കാം. നിങ്ങളുടെ നിർമ്മാണത്തിന് നിങ്ങളെ സഹായിക്കുന്ന ഉപകരണങ്ങൾ നിലവിലുണ്ട്
മേക്ക് മേക്കർ-ഫ്രണ്ട്ലി ശൈലിയിലുള്ള മൊഡ്യൂൾ. ഇതിൽ ExtUtils::ModuleMaker, h2xs എന്നിവ ഉൾപ്പെടുന്നു. കാണുക
കൂടാതെ perlnewmod.
അനുമതി തിരുത്തുക
നിങ്ങളുടെ മൊഡ്യൂളിന് ഒരു ലൈസൻസ് ഉണ്ടെന്നും അതിന്റെ മുഴുവൻ വാചകവും ഇതിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ടെന്നും ഉറപ്പാക്കുക
വിതരണം (ഇത് പൊതുവായതും ലൈസൻസിന്റെ നിബന്ധനകൾ നിങ്ങളോട് ആവശ്യപ്പെടുന്നില്ലെങ്കിൽ
ഉൾപ്പെടുത്തുക).
ഏത് ലൈസൻസാണ് ഉപയോഗിക്കേണ്ടതെന്ന് നിങ്ങൾക്ക് അറിയില്ലെങ്കിൽ, GPL, ആർട്ടിസ്റ്റിക് ലൈസൻസുകൾക്ക് കീഴിലുള്ള ഇരട്ട ലൈസൻസിംഗ്
(Perl തന്നെ) ഒരു നല്ല ആശയമാണ്. perlgpl, perlartistic എന്നിവ കാണുക.
കോമൺ പിറ്റ്ഫാൾസ്
പുനർനിർമ്മിക്കുന്നു The ചക്രം
CPAN ഇതിനകം തന്നെ വളരെ നന്നായി സേവനം ചെയ്യുന്ന ചില ആപ്ലിക്കേഷൻ സ്പെയ്സുകളുണ്ട്.
ഒരു ഉദാഹരണം ടെംപ്ലേറ്റിംഗ് സിസ്റ്റങ്ങളാണ്, മറ്റൊന്ന് തീയതിയും സമയ മൊഡ്യൂളുകളും, കൂടാതെ നിരവധിയുണ്ട്
കൂടുതൽ. ഈ കാര്യങ്ങളുടെ സ്വന്തം പതിപ്പ് എഴുതുന്നത് ഒരു ആചാരമാണെങ്കിലും, ദയവായി
പേൾ വേൾഡിന് അത് പ്രസിദ്ധീകരിക്കാൻ നിങ്ങൾ ആവശ്യമുണ്ടോ എന്ന് ശ്രദ്ധാപൂർവ്വം പരിഗണിക്കുക.
ശ്രമിക്കുന്നു ലേക്ക് do വളരെ വളരെ
നിങ്ങളുടെ മൊഡ്യൂൾ ഒരു ഡെവലപ്പറുടെ ടൂൾകിറ്റിന്റെ ഭാഗമായിരിക്കും. അത് സ്വയം രൂപീകരിക്കില്ല
മുഴുവൻ ടൂൾകിറ്റ്. നിങ്ങളുടെ കോഡ് ഒരു മോണോലിത്തിക്ക് ആകുന്നത് വരെ അധിക ഫീച്ചറുകൾ ചേർക്കുന്നത് പ്രലോഭിപ്പിക്കുന്നതാണ്
ഒരു കൂട്ടം മോഡുലാർ ബിൽഡിംഗ് ബ്ലോക്കുകളേക്കാൾ സിസ്റ്റം.
അനുചിതമാണ് ഡോക്യുമെന്റേഷൻ
തെറ്റായ പ്രേക്ഷകർക്കായി എഴുതുന്ന കെണിയിൽ വീഴരുത്. നിങ്ങളുടെ പ്രാഥമിക പ്രേക്ഷകർ എ
നിങ്ങളുടെ മൊഡ്യൂളിനെക്കുറിച്ച് മിതമായ ധാരണയുള്ള ന്യായമായ പരിചയസമ്പന്നനായ ഡെവലപ്പർ
ആപ്ലിക്കേഷൻ ഡൊമെയ്ൻ, ആരാണ് നിങ്ങളുടെ മൊഡ്യൂൾ ഡൗൺലോഡ് ചെയ്തത്, കൂടാതെ അത് ഉപയോഗിക്കാൻ തുടങ്ങാൻ ആഗ്രഹിക്കുന്നു
കഴിയുന്നത്ര വേഗം.
ട്യൂട്ടോറിയലുകൾ, അന്തിമ ഉപയോക്തൃ ഡോക്യുമെന്റേഷൻ, ഗവേഷണ പേപ്പറുകൾ, പതിവുചോദ്യങ്ങൾ തുടങ്ങിയവ a-യിൽ ഉചിതമല്ല
മൊഡ്യൂളിന്റെ പ്രധാന ഡോക്യുമെന്റേഷൻ. നിങ്ങൾക്ക് ഇവ എഴുതാൻ താൽപ്പര്യമുണ്ടെങ്കിൽ, അവയെ ഉപ-മായി ഉൾപ്പെടുത്തുക.
"My::Module::Tutorial" അല്ലെങ്കിൽ "My::Module::FAQ" പോലുള്ള പ്രമാണങ്ങൾ കൂടാതെ
പ്രധാന ഡോക്യുമെന്റേഷന്റെ വിഭാഗവും കാണുക.
onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് perlmodstyle ഓൺലൈനായി ഉപയോഗിക്കുക