اسکریپت تمیز

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

پ.ن. ۱) خوب هنوز ننوشته چند تا پیشنهاد گرفتم از narcislinux . یکی اینکه می تونید bash style guide را google‌ کنید به لینک های خیلی خوبی مثل این و این می‌رسید.

رعایت indent

استفاده از «Indent» یا به قول ویکی پدیا «دندانه دار» نوشتن،  یعنی اضافه کردن فاصله یا tab در ابتدای هر خط به شکلی که ارتباط بخش های مختلف کد بهتر مشخص باشد. در اکثر مواقع شما در فواصل طولانی نیاز به ویرایش و بازخوانی اسکریپتتون می کنید یا اینکه شخصی جانشین شما می شه و قرار بفهمه شما چی کار کردید. رعایت این کار باعث خوانایی می شه، هم برای خودتون هم برای نفر بعدی که احتمالا جای شما می یاد.

 

سر و ته function

زمانی که اسکریپتتون بزرگ می شه اولین مشکلی که پیدا می کنید، پیدا کردن سرو ته function‌ ها است. برای اینکه ببینید جای درستی دارید کد را می زنید مجبورید برید اول function تا اسمش را ببینید و بعد دوباره صفحه را بیاید پایین تا برسید به جایی که می خواهید ادامه کدتون را بزنید. زمانی که اسکریپتتون بزرگ می شه این موضوع می شه یه معضلی برای ادامه کار، خوب یه راه حل ساده اینه که آخر اسکریپت هم اسم function‌را بنویسید. نمونه زیر را نگاه کنید

 

تعریف متغیر ها

یکی دیگه از موضوعاتی که در یک اسکریپت بزرگ درگیرتون می کنه، تعریف متغیرها و زیاد شدن اونهاست. دغدغه اینکه آیا این متغیر را قبلا تعریف کردید؟ نکنه اسمش تکراری بشه. خوب برای این موضوع من دو تا نکته را رعایت می کنم

۱- متغیر های سراسری را خارج از function ها و با حروف بزرگ تعریف می کنم (برای مثال: VARIABLE) و متغیر های محلی که داخل function بهشون نیاز هست را با حروف کوچک (برای مثال: variable)

پیشنهاد ۱) این پیشنهاد از طرف narcislinux بود. اینکه این انتخاب هم می‌تونه مشکلاتی داشته باشد. مثلا تداخل نام با متغیر های محیطی (Environment Variable). پیشنهاد این بود که تنها ابتدای کلمات حروف بزرگ باشند. مثلا NewVariable

۲- برای متغیرهای محلی که قرار فقط داخل function ازشون استفاده کنم، از دستور local استفاده می کنم. این کار باعث می شه که زمانی که function اجراش پایان پیدا کنه، متغیر هم پاک بشه. پس دیگه دغدغه تکراری شدن متغیر را نخواهید داشت.

 

تعریف return value

خیلی خوبه که عادت کنید هر function ای تعریف می کنید حتما براش return value‌ هم تعریف کنید. خیلی مواقع زمانی که شروع به نوشتن اسکریپت می کنیم، به error handling اسکریپت فکر نمی کنیم و زمانی که لازمش داریم مجبور می شیم از اول کدمون را بررسی کنیم. اسکریپتتون با ساختار زیر شروع کنید

خوب این یه عادت خوبه که قبل از نوشتن function‌ و یا هر بخش دیگه از اسکریپت return value ها را مشخص کنید. خوب مطمئنا در ادامه باید حواستون به جاهایی که ممکنه اسکریپت با خطا مواجه بشه هم باشه. این کار باعث می شه که شما بعد از اجرای اسکریپتتون بتونید ?$ را بررسی کنید و مطمئن بشید که اسکریپت بدون خطا اجرا شده.

ادامه دارد …

 

پاسخ دادن

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