برنامه نویسی

مورد 49: اعتبار پارامترها را بررسی کنید

Summarize this content to 400 words in Persian Lang
فصل: طراحی روش

تمرکز: قابلیت استفاده، استحکام و انعطاف پذیری در طراحی روش.
پوشش: کنترل پارامترها و مقدار بازگشتی، طراحی امضای روش، و مستندات.

مورد 49: اعتبار پارامتر را بررسی کنید

– محدودیت در پارامترها:

روش‌ها و سازنده‌ها معمولاً محدودیت‌هایی در مقادیر پارامتر دارند (به عنوان مثال، شاخص‌های غیر منفی، مراجع غیر تهی).
این محدودیت ها باید در ابتدای روش مستند و تأیید شوند.

– اهمیت تأیید:

برای جلوگیری از خرابی های غیرمنتظره یا رفتار نادرست در روش، خطاها را در اسرع وقت شناسایی کنید.
روش‌هایی که پارامترهای خود را بررسی نمی‌کنند می‌توانند باعث خرابی‌هایی شوند که به سختی اشکال‌زدایی می‌شوند.

– مستندات استثنائات:

از تگ @throws Javadoc برای مستندسازی استثناهای پرتاب شده در صورت نقض محدودیت استفاده کنید.
Exceções couns: IllegalArgumentException، IndexOutOfBoundsException، NullPointerException.

نمونه بررسی پارامتر:

public static int mod(int x, int y) {
if (y

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

– استفاده از Objects.requireNonNull:

در جاوا 7 معرفی شده، برای بررسی پوچ بودن اشیا استفاده می شود.
مقدار ارسال شده پس از بررسی را برمی‌گرداند:

this.m = Objects.requireNonNull(m, “Parâmetro ‘m’ não pode ser nulo”);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

– بررسی محدوده (جاوا 9):روش‌های checkFromIndexSize، checkFromToIndex و checkIndex برای بررسی فهرست‌ها و آرایه‌ها.کمتر انعطاف پذیر است، عمدتا برای مجموعه ها استفاده می شود.

– تأیید پارامترها در روش های غیر عمومی:برای روش های غیر صادراتی، از اظهارات برای بررسی پارامترها استفاده کنید:

assert x > 0 : “Valor de x deve ser positivo”;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

– موارد خاص:

سازندگان همیشه باید اعتبار پارامترهای ذخیره شده را برای استفاده بعدی بررسی کنند.
برای چک های پرهزینه می توان استثناهایی قائل شد، که چک در حین محاسبه ضمنی است.

– نمونه ای از تأیید ضمنی:

Collections.sort(List) فرض می کند که اشیا با یکدیگر قابل مقایسه هستند. تأیید در طول فرآیند مرتب سازی رخ می دهد.

– ترجمه استثناها:

هنگامی که بررسی ضمنی استثنای اشتباهی را ایجاد می کند، از “ترجمه استثنا” برای پرتاب استثنا صحیح استفاده کنید.

– انعطاف پذیری در محدودیت ها:

روش ها باید به گونه ای طراحی شوند که تا حد امکان عمومی باشند و در صورت لزوم محدودیت های کمتری را اعمال کنند.

– نتیجه گیری:

مستندسازی و اجرای بررسی اعتبار پارامترها بر روی متدها و سازنده ها. تمرین برای جلوگیری از خطاهای آینده و تسهیل اشکال زدایی ضروری است.

نمونه هایی از کتاب:

فصل: طراحی روش

  • تمرکز: قابلیت استفاده، استحکام و انعطاف پذیری در طراحی روش.
  • پوشش: کنترل پارامترها و مقدار بازگشتی، طراحی امضای روش، و مستندات.

مورد 49: اعتبار پارامتر را بررسی کنید

– محدودیت در پارامترها:

  • روش‌ها و سازنده‌ها معمولاً محدودیت‌هایی در مقادیر پارامتر دارند (به عنوان مثال، شاخص‌های غیر منفی، مراجع غیر تهی).
  • این محدودیت ها باید در ابتدای روش مستند و تأیید شوند.

– اهمیت تأیید:

  • برای جلوگیری از خرابی های غیرمنتظره یا رفتار نادرست در روش، خطاها را در اسرع وقت شناسایی کنید.
  • روش‌هایی که پارامترهای خود را بررسی نمی‌کنند می‌توانند باعث خرابی‌هایی شوند که به سختی اشکال‌زدایی می‌شوند.

– مستندات استثنائات:

  • از تگ @throws Javadoc برای مستندسازی استثناهای پرتاب شده در صورت نقض محدودیت استفاده کنید.
  • Exceções couns: IllegalArgumentException، IndexOutOfBoundsException، NullPointerException.

نمونه بررسی پارامتر:

public static int mod(int x, int y) {
    if (y 
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

– استفاده از Objects.requireNonNull:

  • در جاوا 7 معرفی شده، برای بررسی پوچ بودن اشیا استفاده می شود.
  • مقدار ارسال شده پس از بررسی را برمی‌گرداند:
this.m = Objects.requireNonNull(m, "Parâmetro 'm' não pode ser nulo");

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

– بررسی محدوده (جاوا 9):
روش‌های checkFromIndexSize، checkFromToIndex و checkIndex برای بررسی فهرست‌ها و آرایه‌ها.
کمتر انعطاف پذیر است، عمدتا برای مجموعه ها استفاده می شود.

– تأیید پارامترها در روش های غیر عمومی:
برای روش های غیر صادراتی، از اظهارات برای بررسی پارامترها استفاده کنید:

assert x > 0 : "Valor de x deve ser positivo";

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

– موارد خاص:

  • سازندگان همیشه باید اعتبار پارامترهای ذخیره شده را برای استفاده بعدی بررسی کنند.
  • برای چک های پرهزینه می توان استثناهایی قائل شد، که چک در حین محاسبه ضمنی است.

– نمونه ای از تأیید ضمنی:

  • Collections.sort(List) فرض می کند که اشیا با یکدیگر قابل مقایسه هستند. تأیید در طول فرآیند مرتب سازی رخ می دهد.

– ترجمه استثناها:

  • هنگامی که بررسی ضمنی استثنای اشتباهی را ایجاد می کند، از “ترجمه استثنا” برای پرتاب استثنا صحیح استفاده کنید.

– انعطاف پذیری در محدودیت ها:

  • روش ها باید به گونه ای طراحی شوند که تا حد امکان عمومی باشند و در صورت لزوم محدودیت های کمتری را اعمال کنند.

– نتیجه گیری:

  • مستندسازی و اجرای بررسی اعتبار پارامترها بر روی متدها و سازنده ها. تمرین برای جلوگیری از خطاهای آینده و تسهیل اشکال زدایی ضروری است.

نمونه هایی از کتاب:

توضیحات تصویر

توضیحات تصویر

توضیحات تصویر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا