دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۶
  • اردیبهشت

جلسه ۲۱ : آموزش استاندارد های کد در پرل

  • دسته‌بندی‌ها :
جلسه ۲۱ : آموزش استاندارد های کد در پرل
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      با سلام خدمت کاربران گرامی سایت پی وی لرن و کاربرانی که علاقمندان به دوره آموزشی پرل Perl. در جلسه گذشته با جزئیات و مثال های فراوان به آموزش مقادیر خاص پرداختیم. در این جلسه و در بیست و یکمین دوره آموزش پرل، آموزش استاندارد های کد در پرل را به علاقمندان این دوره ارائه می کنیم.

      آموزش استاندارد های کد در پرل

      اگر چه هر برنامه نویسی دستورالعمل های خاص خود را دارد اما یک سری دستور العمل های خاصی وجود دارند که برنامه های شما را برای خواندن، درک و حفظ برنامه ها آسان تر می کند.

      مهمترین مسئله این است که تمام برنامه های خود را the -w flag اجرا نمایید.
      به خاطر داشته باشید که آن را  برای بخش های خاص کد از طریق no warnings pragma یا متغیر  ^$  در صورتی که باید باشد، خاموش کنید.
      همواره باید بدانید که چطور از این متغیر استفاده کنید و یا حداقل دلیل استفاده از آن را بدانید.

      با توجه به زیبایی شناسی کد، تنها چیزی که Larry به آن اهمیت می دهد، این است که محدوده بسته شدن بلوک چند خط باید با کلید واژه ای که سازه را آغاز کرده است، مطابقت داشته باشد.
      جدا از این مسئله یک سری تنظیمات خاص وجود دارد که البته چندان قوی نیست.
      در ادامه آموزش استاندارد های کد در پرل به این تنظیمات و ویژگی ها می پردازیم.

      • ۴ ستون indent
      • curly های باز که در یک خط به عنوان کلمه کلیدی تعیین شده اند.
      • One-line BLOCK که ممکن است در خط گذاشته شوند و شامل curlies می شوند.
      • فضای قبل از opening curly در multi-line BLOCK.
      • فضایی که قبل از semicolon بسته شده است.
      • Semicolon که در بلوک یک خط “کوتاه” حذف شده است.
      • فضای اطراف اکثر اپراتورها.
      • فضای اطراف یک “complex” (در داخل براکت).

      ویژگی های استاندارد های کد در پرل

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

      • خطوط سفید بین chunks هایی که کار های مختلفی را انجام می دهند.
      • Uncuddled elses
      • فضای بین نام تابع و پرانتز های باز
      • فضا بعد از هر کاما
      • خطوط طولانی شکسته بعد از یک اپراتور به جز and و or
      • فضای پس از پرانتز قبلی که در تطابق با خط فعلی است.
      • خطوط مربوط به آیتم ها که به صورت عمودی هستند.

      در این مبحث یک سری مسائل دیگر هستند که ممکن است به ذهن متبادر می شوند :
      در اکثر موارد اگر می توانید یک راه خاص را امتحان نمایید به این معنا نیست که باید آن را انجام دهید.
      اما پرل این قید و بند ها را کنار می گذارد زیرا طوری طراحی شده است که که هر کاری را انجام دهد.
      بنابرین سعی کنید از میان راه هایی که پرل به شما ارائه می کند بهترین آن و قابل خواندن ترین آن را برگزینید.
      به مثال زیر توجه نمایید.

      مثال : 

      در مقایسه با مثال بالا نمونه زیر کارایی بهتری دارند.

      مثال : 

      نمونه دومی از آن جهت بهتر است که که نقطه اصلی statement را در ویرایشگر پنهان می نماید.
      به عبارت دیگر :

      مثال : 

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

      مثال : 

      این نمونه است زیرا نقطه اصلی کاربر typed -v نیست.

      زمانی که پرل آخرین اپراتور را فراهم می کند تا بتوانید از وسط آن خارج شوید؛ هیچگاه بالا یا پایین صفحه را برای خروج انتخاب ننمایید.
      هنگام این شرایط فقط “outdent” را استفاده نمایید تا تاثیر آن را مشاهده نمایید.

      مثال : 

      در ادامه آموزش استاندارد های کد در پرل به بررسی چند نکته کلیدی دیگر می پردازیم.

      نکات کلیدی استاندارد های کد در پرل

      • نگران استفاده از loop labels نباشید :
        loop labels ها به افزایش خوانایی و  شکستن حلقه های چند سطحی کمک می کنند. (به مثال قبلی توجه کنید)
      • خودداری از استفاده از ()grep یا ()map و یا backticksدر یک void context هنگام کنار گذاشتن مقادیر بازگشتی آن ها.
        این توابع کلیه مقادیر را باز می گرداند؛ بنابرین از آن ها استفاده نمایید.
        به عبارت دیگر از تابع foreach() loop و یا ()system به جای آن استفاده نمایید.
      • برای جا به جایی در هنگام استفاده از ویژگی هایی که به راحتی در هر ماشینی اجرا نمی شوند، ساختار آن را در یک eval بررسی کنید تا ببینید مشکل از کجاست.
        اگر می خواهید بدانید که چه برنامه ویژگی مشخصی در حال اجراست می توانید از ($PERL_VERSION in English) [$ استفاده کنید تا ببینید نوع آن چیست.
        ماژول پیکربندی نیز به شما اجازه می دهد که مقادیر تعیین شده توسط برنامه پیکربندی زمانی که در پرل نصب شده است را بررسی نمایید.
      • اگر با به خاطر سپردن mnemonic مشکل دارید در آن صورت از mnemonic identifiers استفاده نمایید.
      • identifiers های کوتاه نظیر gotit$ برای استفاده به نظر خوب هستند.
        از _ برای جداسازی حروف در identifiers های طولانی استفاده نمایید. این امر به ویژه در  non-native speakers در زبان انگلیسی به مراتب بهتر از استفاده از var_names_like_this$ در مقایسه با VarNamesLikeThis$ است.
        این یک قاعده ساده است که همواره با VAR_NAMES_LIKE_THIS کار می کند.

      در ادامه آموزش کار استاندارد های کد در پرل به چند ویژگی کلیدی دیگر اشاره می نماییم.

      سایر ویژگی های قابل ذکر

      • نام بسته ها یا پکیج ها گاهی از قاعده گفته شده مستثنی است.
        پرل معمولاً از  lowercase module names برای ماژول های “pragma” مانند integer و strict استفاده می نماید.
        سایر ماژول ها باید با حروف بزرگی که از mixed case استفاده می کنند شروع شوند اما به دلیل محدودیت در نمایش  فایل های سیستم های اولیه از underscore یا (_) استفاده نمی نمایند و نام های ماژول ها به عنوان فایل باید در چند بایت کوچک قرار گیرد.
      • اگر از عبارات بلند استفاده می کنید می توانید با استفاده از ویرایشگر x/ آن ها در یک فضای سفید قرار دهید تا کمتر پیچیده و شلوغ به نظر بیایند.
        هنگامی regexp تان دارای slashes و backslashes هستند دقت کنید که از اسلش slash به عنوان حائل و ایجاد کننده فاصله و شکاف استفاده ننمایید.
      • به خاطر داشته باشید که هرگز پک کردن کد های بازگردانی شده از system calls را فراموش نکنید.
        هنگام بروز خطا ها توجه کنید که پیغام ها هشدار بایستی به STDERR بروند.
        STDERR شامل برنامه هایی است این چنین خطا هایی را ایجاد کرده اند.
        این خطا ها ممکن است شامل خطا های system call و argument ها و (VERY IMPORTANT) شوند که شامل پیغام خطای standard system است و در هنگام بروز خطا ظاهر می شود.
        در ادامه می توانید یک مثال ساده در این رابطه را ببینید.

      مثال : 

      • به ویژگی reusability یا استفاده مجدد فکر کنید.
        چرا نیروی فکر خود را صرف ساخت چیزی کنیم که یک بار از قبل ساخته شده است؟
        چرا باید یک کد را مجدداً باز نویسی نماییم؟
        چرا باید یک ماژول یک کلاس object را دوباره بنویسیم؟

      کلام آخر

      در این جلسه آموزشی که بیست و یکمین جلسه از دوره آموزشی پرل بود شما به آموزش استاندارد های کد در پرل پرداختیم و شما را با کار با آن ها، استفاده از آن ها و زیبایی شناسی کدها آشنا کردیم.
      در جلسه بعدی با آموزش کار با regular expression یا عبارات منظم در این زبان برنامه نویسی همراه شما خواهیم بود.
      با پی وی لرن همراه باشید.

      QR:  جلسه ۲۱ : آموزش استاندارد های کد در پرل
      به اشتراک بگذارید