ویکیپدیا:تمرین و نمونههای آزمایشی الگو
این صفحه یک راهنمای چگونه انجام دادن است. که یک کار یا فرایند را در ویکیپدیای فارسی شرح میدهد. این صفحه یکی از سیاستها یا رهنمودهای ویکیپدیا نیست، زیرا هنوز توسط اجتماع مورد بررسی و تأیید قرار نگرفته است. |
هر چند الگوها یکی از نیرومندترین ویژگیهای نرمافزار مدیاویکی هستند، ولی آزمودهترین کاربران نیز ممکن است در کار ویرایش و تغییر الگوها دچار اشتباه شوند. بنابراین ویرایشها در کدهای پیشرفتهٔ الگوها بهمنظور جلوگیری از ایجاد اشکال در عملکرد الگو، باید در صفحههای تمرین قرار گیرند و سپس در زیرصفحهٔ آزمایشی الگوها آزمایش شوند.
برای توسعهٔ الگوهای کاملاً جدید توصیه میشود که از صفحهٔ تمرین کاربری خود استفاده کنید.
قواعد نامگذاری صفحهها
[ویرایش]بیشتر الگوهای حفاظتشده از پیش دارای زیرصفحههای تمرین و آزمایشی هستند. نامهای مذکور، نام پیشفرض این زیرصفحهها هستند. در پایین جعبهٔ توضیحات الگوها در صفحهٔ خود الگو، پیوندهایی برای ایجاد یا ویرایش زیرصفحههای /تمرین و /آزمایشی قرار گرفته است.
برای مثال، زیرصفحهٔ الگوی {{جعبه اطلاعات دانشمند}} در جدول زیر آمدهاند:
| الگو | پیوند |
|---|---|
| الگوی اصلی | الگو:جعبه اطلاعات دانشمند |
| زیرصفحهٔ /تمرین | الگو:جعبه اطلاعات دانشمند/تمرین |
| زیرصفحهٔ /آزمایشی | الگو:جعبه اطلاعات دانشمند/آزمایشی |
کاربرد صفحه تمرین
[ویرایش]اکیداً توصیه میشود که برای تغییر الگوهایی که از توابع تجزیهگر استفاده میکنند و میتوانند خروجیهای متفاوتی داشته باشند، بهویژه الگوهایی که پارامترهای متعددی را میپذیرند، و یا الگوهایی که حاوی شعبههای زیادی از تابع تجزیهگر #گزینه (یا همان #switch) هستند، از فرایند تمرین و آزمایش استفاده شود.
برای الگوهای جعبهٔ ناوبری که تراگنجانش آنها تقریباً در تمام صفحهها نتیجهٔ یکسانی خواهد داشت، ممکن است صرف زمان برای ایجاد صفحهٔ تمرین و آزمودن آن توجیه نداشته باشد، اما در صورتی که از نتیجهٔ کار مطمئن نبودید، بهتر است از صفحهٔ تمرین استفاده کنید. هر الگویی که بهعنوان یک الگوی حخسا علامت خورده است، پیش از ویرایش شدن باید بهخوبی آزموده شود. در خصوص سایر الگوها، همچنان بهتر است که پیش از ویرایش الگو، صفحههایی که به آن پیوند دارند یا آن را تراگنجانش کردهاند را بررسی کنید (از طریق پیوند «پیوندها به این صفحه» در بخش ابزارها در نوار کناری صفحهٔ وبگاه).
ایجاد زیرصفحههای /تمرین و /آزمایشی
[ویرایش]- فرض کنید الگوی شما الگو:چکش نام دارد. زیرصفحهای با عنوان الگو:چکش/تمرین ایجاد کنید. اگر الگوی اصلی از الگوی {{توضیحات}} استفاده میکند، این کار را میتوانید با استفاده از پیوند موجود در پایین جعبهٔ توضیحات سبز رنگ در صفحهٔ اصلی الگو انجام دهید. همچنین میتوانید این عنوان را در جعبهٔ جستجو یا مستقیماً در نوار نشانی اینترنتی مرورگر خود وارد کنید.
- کل محتوای الگوی اصلی از جمله برچسبهای
<noinclude>و الگوی {{توضیحات}} (در صورت وجود) را کپی کنید و پس از قرار دادن آنها در زیرصفحهٔ /تمرین، صفحه را ذخیره کنید. خلاصهٔ ویرایش شما میتواند چیزی مشابهایجاد نسخهٔ تمرینی [[الگو:چکش]]باشد. - زیرصفحهٔ دیگری با عنوان
الگو:چکش/آزمایشیایجاد کنید. برای ایجاد این زیرصفحه نیز میتوانید از پیوند موجود در پایین جعبهٔ سبز رنگ توضیحات الگو استفاده کنید. - الگو {{هشدار نمونههای آزمایشی}} را در بالای صفحه قرار دهید، چند نمونهٔ آزمایشی اضافه کنید (پایین را ببینید) و سپس صفحه را ذخیره کنید.
- کدهای تمرینی خود را به
الگو:چکش/تمریناضافه کنید. برای آزمودن کدهای خود، صفحه را ذخیره کنید و به زیرصفحهٔ /آزمایشی بروید. گاه لازم است برای مشاهدهٔ نتایج بهروزشده، صفحهٔ /آزمایشی را پاکسازی کنید؛ برای انجام این کار پیوندی در الگوی {{هشدار نمونههای آزمایشی}} گنجانده شده است. پس از آن که میانگیر صفحه را خالی کردید، خروجی الگوی اصلی را با خروجی صفحهٔ تمرین آن مقایسه کنید و اگر همهچیز درست کار میکرد، میتوانید الگوی اصلی را از صفحهٔ تمرین بهروز کنید. با این حال، نمونههای آزمایشی ناموجود (از قلم افتاده) و مواردی از کاربرد الگو که فقط در فضاهای نام یا صفحههایی خاص قابل آزمودن هستند را نیز مد نظر داشته باشید.
بهروزرسانی زیرصفحهٔ از پیش موجود /تمرین و /آزمایشی
[ویرایش]برای اعمال تغییر در الگویی که از پیش دارای زیرصفحههای /تمرین و /آزمایشی است، روال به همان صورتی است که در بالا توضیح داده شد.
- صفحهٔ /تمرین ممکن است حاوی جدیدترین نسخهٔ کدهای الگو نباشد و به همین دلیل، پیش از آن که بخواهید تغییری اعمال کنید، باید صفحهٔ تمرین را با الگوی اصلی همگام کنید. کل محتوای الگوی اصلی را کپی کنید و در صفحهٔ /تمرین قرار دهید، سپس صفحه را ذخیره کنید. خلاصهٔ ویرایش شما میتوانید چیزی مشابه همگامسازی با الگوی اصلی یا بهطور مختصر همگامسازی باشد.
- حالا میتوانید صفحهٔ تمرین را ویرایش کنید. هرگاه خواستید کدهای خود را آزمایش کنید، صفحه را ذخیره کنید.
- اگر یک ویژگی به الگو اضافه کردهاید یا یکی از پارامترها را تغییر دادهاید، باید نمونههای آزمایشی جدیدی را به زیرصفحهٔ /آزمایشی اضافه کنید تا بتوانید تغییرات خود را بیازمایید. علاوه بر این، در نظر داشته باشید که نمونههای آزمایشی از پیش موجود ممکن است کامل نباشند. اگر نمونههای آزمایشی موجود برای آنچه قصد دارید به آن دست یابید مفید نیستند، میتوانید آن نمونهها را بازنویسی کنید، اما کاربرد آنها برای ویرایشگرانی که ممکن است بعد از شما بخواهند از نمونههای آزمایشی استفاده کنند را هم در نظر بگیرید.
- صفحهٔ /آزمایشی را پاکسازی کنید و نتایج بهروزشده را مشاهده کنید.
- بررسی کنید که خروجی الگوی تمرینی در نمونههای آزمایشی درست باشد. اگر همهچیز درست بود، کدهای الگو را از صفحهٔ /تمرین کپی کنید و در الگوی اصلی قرار دهید.
افزودن نمونههای آزمایشی
[ویرایش]در صفحهٔ /آزمایشی، باید برای هر یک از رفتارهای متفاوت الگوی شما یک نمونهٔ آزمایشی موجود باشد. برای مثال، اگر الگوی شما قرار است یک متن را نمایش دهد، و اگر پارامتر |مورب=بله باعث میشود آن متن بهصورت مورب نمایش یابد، یک نمونهٔ آزمایشی برای پیام عادی، و یک نمونهٔ آزمایشی برای پیام مورب اضافه کنید. اگر الگوی مذکور یک پارامتر دیگر با نام |تاریخ= دارد که کاربر میتواند یک تاریخ را در آن وارد کند، باید یک نمونهٔ آزمایشی دیگر نیز برای آن اضافه کنید. باید با دقت عمل کنید و برای تمام روشهای بهکارگیری الگوی خود توسط کاربران یک نمونهٔ آزمایشی بسازید؛ با این حال، معمولاً افزودن یک نمونهٔ آزمایشی برای تمام ترکیبهای ممکن برای پارامترهای الگو شدنی نیست، بنابراین باید با دقت و هوشمندانه مرتبطترین نمونهها را اضافه کنید.
چندین سبک متفاوت برای افزودن نمونههای آزمایشی قابل استفاده وجود دارد. روشی که شما انتخاب میکنید، به طبیعت الگویی بستگی دارد که در حال کار بر روی آن هستید. برای مثال، برای خروجی کوتاه الگو که یک سطر برای آن کافی است، قرار دادن آنها در یک جدول ویکی میتواند مفید باشد. برای الگوهای بلند و باریک نظیر جعبههای اطلاعات، معمولاً بهتر است آنها را با استفاده از {{جدول نمونههای آزمایشی}} در کنار یکدیگر قرار دهید.
قالببندی دستی
[ویرایش]قالببندی دستی انعطافپذیری زیادی به شما میدهد، اما برای اطمینان از این که تمام پارامترها بهشکل درست وارد شده باشند، باید با احتیاط عمل کنید. یافتن خطایی در نمونههای آزمایشی معمولاً سختتر از یافتن خطایی در خود الگو است.
قالب ابتدایی
[ویرایش]این قالب برای استفاده در الگوهای پیامی و متون طولانی نظیر یادکردها مفید است. توجه کنید که میتوانید از الگو:نمونه آزمایشی و سایر الگوهای مشابه برای قالببندی خودکار این دست از نمونههای آزمایشی استفاده کنید.
== عنوان توصیفی ==
* <code><nowiki>{{الگو|پارامتر۱=مقدار۱|پارامتر۲=مقدار۲}}</nowiki></code>
'''اصلی'''
{{الگو|پارامتر۱=مقدار۱|پارامتر۲=مقدار۲}}
'''تمرین'''
{{الگو/تمرین|پارامتر۱=مقدار۱|پارامتر۲=مقدار۲}}
مقدارهای الگو، پارامتر۱، مقدار۱ و غیره باید در هر دو نمونهٔ «اصلی» و «تمرین» یکسان باشند.
در الگوهایی که از ویژگی سیاساس «float» استفاده میکنند، بهمنظور جلوگیری از خوشهبندی الگوها با یکدیگر لازم است از الگوی {{پاککن}} استفاده کنید:
== عنوان توصیفی ==
* <code><nowiki>{{الگو|پارامتر۱=مقدار۱|پارامتر۲=مقدار۲}}</nowiki></code>
'''اصلی'''
{{الگو|پارامتر۱=مقدار۱|پارامتر۲=مقدار۲}}
{{پاککن}}
'''تمرین'''
{{الگو/تمرین|پارامتر۱=مقدار۱|پارامتر۲=مقدار۲}}
{{پاککن}}
جدول ویکی
[ویرایش]برای الگوهایی که دارای خروجی کوتاه و مختصری هستند و باید بهشکلی درست سطربندی شوند، استفاده از ویکیجدول برای قالببندی نمونههای آزمایشی میتواند مفید باشد.
جدول را به این شکل بسازید:
{| class="wikitable"
|-
! کد
! اصلی
! تمرین
<!-- هر نمونهٔ آزمایشی جدید را میتوان به این شکل اضافه کرد: -->
|-
| <code><nowiki>{{الگو|پارامتر۱=مقدار۱|پارامتر۲=مقدار۲}}</nowiki></code>
| {{الگو|پارامتر۱=مقدار۱|پارامتر۲=مقدار۲}}
| {{الگو/تمرین|پارامتر۱=مقدار۱|پارامتر۲=مقدار۲}}
<!-- جدول را به این شکل ببندید: -->
|}
قالببندی خودکار
[ویرایش]الگوهای متفاوتی وجود دارند که به شما در قالببندی خودکار نمونههای آزمایشی کمک میکنند. با کمک این الگوها، پارامترها و مقدارهای آنها تنها یک بار وارد میشوند، اما همچنان هم برای الگوی اصلی و هم برای الگوی تمرینی مورد آزمایش میشوند. این موضوع از بروز خطا در کاربرد پارامترها در نمونههای آزمایشی جلوگیری میکند و نگهداری از صفحههای نمونههای آزمایشی را تسهیل میکند. این الگوها به در فهرست زیر آمدهاند:
- الگو:نمونه آزمایشی، برای نمونههای آزمایشی با کاربرد عمومی
- الگو:جدول نمونههای آزمایشی، برای الگوهای بلند و باریک نظیر جعبههای اطلاعات
- الگو:نمونه آزمایشی درخط، برای الگوهایی با خروجی مختصر و درونخطی
- الگو:نمونه آزمایشی نوویکی، برای الگوهایی با روش فراخوانی پیچیده
- الگو:نمونه آزمایشی تاشو، برای نمایش نمونههای آزمایشی بهصورت تاشو در زمانی که الگوی اصلی و تمرینی هر دو خروجی یکسان دارند
توجه داشته باشید که تمامی این الگوها میتوانند نمونههای آزمایشی را بهشکل تاشو نمایش دهند، اما در الگو:نمونه آزمایشی تاشو این ویژگی بهطور پیشفرض فعال است. برای جزئیات بیشتر و مستندات، صفحهٔ اصلی الگوها را ببینید.
آزمایشهای غیر قابل انجام در صفحههای /آزمایشی
[ویرایش]برخی ویژگیهای الگوها را نمیتوان در صفحههای /آزمایشی آزمود. برای مثال، ممکن است الگو متنی خاص را تنها در صورتی که در فضای نام اصلی قرار گرفته باشد، نمایش دهد، یا این که خروجی آن در صفحهٔ مبنا یا زیرصفحهها متقاوت باشد. برای چنین آزمایشهایی، میتوانید از ویژگی «پیشنمایش صفحه با این الگو» استفاده کنید که در زیر جعبهٔ ویرایش در صفحههای الگو قابل مشاهده است.
اگر آزمایشهایی را در ذهن دارید که در صفحهٔ /آزمایشی قابل انجام نیستند، میتوانید با قرار دادن یادداشتی در بالای صفحهٔ /آزمایشی به آنچه نیاز به آزمایش بیشتری دارد، اشاره کنید تا ویرایشگرانی که در آینده آن الگو را ویرایش میکنند نیز به آن توجه کنند.
صفحههای وابسته
[ویرایش]- راهنما:الگو، راهنمای عمومی کار با الگوها
- ویژه:صفحهٔ تمرین الگو