احتمالاً براتون پیش اومده که موقع خوندن مستندات فنی، دیده باشید به RFC 2119 رفرنس داده شده. این RFC و بعدش RFC 8174 جزو معروفترین موارد تو ادبیات مستندات اینترنت و شبکه هستن که درباره معنای دقیق افعال (verbs) تعاریف واضح و شفافی ارائه میدن.
شاید الان فکر کنید خب شبکه چه ربطی به نرمافزار داره؟ موضوع اینجاست که شبکه و توسعه سمت سرور همپوشانی زیادی با هم دارن و برای پیادهسازی یه نرمافزار بکاندی واقعا باید تا حد مناسبی مفاهیم شبکه رو بلد باشیم. بیاید خیلی کوتاه و در عین حال کامل RFC 2119 رو با هم مرور کنیم...
توی متن گفته شده که برای رسوندن مفهوم دقیق گزارهها، باید بین معنی فعلها تمایز قائل بشیم. بر این اساس، ۳ گروه فعل وجود داره:
۱) گروه افعال الزامی: که برای جملات مثبت شامل MUST و SHALL و REQUIRED؛ و برای جملات منفی شامل MUST NOT و SHALL NOT هست. هر جا دیدید از این فعلها استفاده شده، یعنی بیقید و شرط باید اون گزاره اجرا بشه (یا نشه؛ بسته به مثبت یا منفی بودن جمله). پس بر خلافش عمل کردن کاملا ممنوعه.
۲) گروه افعال توصیهای: که برای جملات مثبت شامل SHOULD و RECOMMENDED؛ و برای جملات منفی شامل SHOULD NOT و NOT RECOMMEND هست. هر جا دیدید از این فعلها استفاده شده، یعنی توصیه قوی اینه که طبق اون گزاره عمل کنید (یا نکنید؛ بسته به مثبت یا منفی بودن جمله). اما اگه واقعا دلیل قابل توجیه و قانع کنندهای وجود داشت، میتونید نادیدهاش بگیرید.
۳) گروه افعال اختیاری: که شامل MAY و OPTIONAL هست. هر جا دیدید از این فعلها استفاده شده، کاملا بستگی به خودتون داره که ازش پیروی بکنید یا نه. یعنی هیچ اجبار یا عدم اجباری وجود نداره.
پ.ن: RFC 8174 بعد از 2119 ثبت شد و صرفا به این اشاره میکرد که اگه قرار باشه این افعال همین معنیهای قراردادی رو داشته باشن، باید حتما به صورت uppercase توی متن نوشته بشن...
@DevTwitter | <Alireza Esmaeilpour/>
Post #13442
3.23K

- 👍 10
- ❤ 6
- 🔥 1