TechBord Logo
TechBord detail

منسوخ (Deprecated) چیست؟

"منسوخ" یک اصطلاح توسعه نرم افزار (Software) برای ویژگی هایی است که به تدریج حذف و جایگزین می شوند. یک ویژگی منسوخ در زبان برنامه نویسی (Programming Language) یا نرم افزار برنامه کاربردی (Application) ممکن است همچنان کار کند، اما دیگر پشتیبانی یا بهبود نمی یابد. اکثر ویژگی های منسوخ در نهایت به طور کامل حذف می شوند. توسعه دهنده (Developer) یک برنامه یا زبان برنامه نویسی معمولاً از ماه ها یا سال ها قبل از بین رفتن یک ویژگی را اعلام می کند تا به توسعه دهندگان نرم افزار زمان دهد تا جایگزینی را پیاده سازی کنند.

زبان های برنامه نویسی و برنامه های کاربردی نرم افزاری در حال توسعه فعال خواهند بود. گاهی اوقات تابع (Function) قدیمی و ویژگی های دیگر را با جایگزین های کاملاً جدید جایگزین کنید. به عنوان مثال، در پیش پردازشگر فرامتن (PHP)، تابع money_format() که یک عدد را به عنوان یک رشته ارز قالب‌بندی می‌کند، به نفع NumberFormatter کلاس (Class)، که می تواند اعداد را به طرق مختلف از جمله به عنوان ارز قالب بندی کند. تابع قدیمی money_format() پس از اعلام منسوخ شدن آن با PHP 7.4 به کار خود ادامه داد و به توسعه دهندگان PHP فرصت داد تا کد منبع (Source Code) خود را قبل از حذف کامل آن به روز کنند. در PHP 8.

منسوخ بودن همیشه یک ویژگی را برای حذف علامت گذاری نمی کند، به ویژه در برنامه یا زبانی که برای مدت طولانی در دسترس بوده است. یک تابع منسوخ ممکن است برای سازگاری به عقب باقی بماند، حتی اگر پیاده‌سازی بهتری در دسترس باشد یا روش اصلی باعث بی‌ثباتی سیستم شود تا به نرم‌افزار قدیمی اجازه دهد بدون تعمیر اساسی به کار خود ادامه دهد. برای مثال، تابع جاوا اسکریپت (JavaScript) escape() به دلیل پشتیبانی ضعیف از نویسه‌های یونیکد (Unicode) منسوخ شد، اما همچنان در اکثر مرورگر اینترنت (Web Browser) برای اجازه اجرای کدهای قدیمی جاوا اسکریپت.

منسوخ (Deprecated) چیست؟ | TechBord.ir
Xcode هشداری را نشان می دهد که این پروژه از یک تابع منسوخ شده استفاده می کند

ویژگی های نرم افزار و زبان برنامه نویسی ممکن است به دلایل مختلفی منسوخ شوند:

  • یک ویژگی جایگزین معرفی شده است که عملکرد مشابهی را با عملکرد بهبود یافته یا کاهش پیچیدگی انجام می دهد. ، ویژگی منسوخ شده را منسوخ می کند.
  • ویژگی های قدیمی که با وضعیت فعلی برنامه یا زبان ناسازگار هستند، ممکن است به نفع نسخه طراحی مجدد منسوخ شوند. این ویژگی‌ها ممکن است از نحو (Syntax) قدیمی استفاده کنند یا از قراردادهای نام‌گذاری استفاده کنند که می‌تواند یک برنامه‌نویس جدید را گیج کند، بنابراین منسوخ شده‌اند و با نسخه‌هایی جایگزین می‌شوند که با استانداردهای مدرن هماهنگ‌تر هستند.
  • یک ویژگی با طراحی ممکن است نقص (مانند یک آسیب پذیری امنیتی یا نشت حافظه (Memory Leak)) منسوخ شود تا از استفاده جلوگیری شود.
  • ویژگی های اضافی ممکن است منسوخ شده و حذف شوند تا پیچیدگی سیستم کاهش یابد.
  • تغییرات برنامه ریزی شده در یک برنامه یا زبان باعث از بین رفتن یک ویژگی موجود می شود، بنابراین از قبل به عنوان منسوخ شده علامت گذاری می شود تا توسعه دهندگان تشویق شوند از جایگزینی استفاده کنند که تحت تأثیر قرار نگیرد.

توجه داشته باشید. : توسعه دهندگان یک برنامه یا زبان برنامه نویسی در مستندات و یادداشت های انتشار خود از بین رفتن ویژگی ها را اعلام می کنند. ویژگی‌های منسوخ شده در یک زبان برنامه‌نویسی هنگامی که توسعه‌دهندگان نرم‌افزار تلاش می‌کنند از آن‌ها استفاده کنند، پیام‌های هشدار را در محیط توسعه یکپارچه آن زبان (الکترونیک دستگاه یکپارچه یا محیط توسعه یکپارچه (IDE)) راه‌اندازی می‌کنند.

تعریف اصطلاح منسوخ (Deprecated) توسط تک بورد

تعریف منسوخ (Deprecated) در این صفحه یک تعریف پایه نگاشته شده توسط تک بورد است. اگر مایل به ارجاع به این صفحه یا استناد به این تعریف هستید، با شرط درج لینک به این صفحه می توانید از این محتوا استفاده کنید.

هدف تک بورد توضیح اصطلاحات کامپیوتری به روشی است که به راحتی قابل درک باشد. ما برای سادگی و دقت با هر تعریفی که منتشر می کنیم تلاش می کنیم. اگر بازخوردی درباره تعریف منسوخ (Deprecated) دارید یا می‌خواهید یک اصطلاح فنی جدید پیشنهاد کنید، لطفاً با ما تماس بگیرید.

آیا می خواهید اصطلاحات فنی بیشتری یاد بگیرید؟ در خبرنامه روزانه یا هفتگی مشترک شوید و شرایط و آزمون های ویژه را در ایمیل خود تحویل بگیرید.