سبک برنامه نویسی

ساخت وبلاگ

آنچه سبک برنامه نویسی خوب را تشکیل می دهد تا حدودی ذهنی است. این دستورالعمل ها عمدتاً جاوا محور هستند ، اما بیشتر اصول به همان اندازه برای سایر زبانها اعمال می شود.

  • (دیگر نگهداری نمی شود)

خوانایی

خواندن کد باید آسان باشد.

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

وضوح هدف

درک این موضوع که برنامه نویس به چه معناست ، باید آسان باشد.

  • سعی کنید کدی بنویسید که تا حد امکان ساده باشد
  • برای متغیرها ، روشها ، کلاسها و غیره از نامهای معنی دار استفاده کنید
  • مستندات javadoc را برای روش ها ، کلاس ها و بسته های عمومی بنویسید
  • نظرات داخلی را در جایی که آنها آموزنده هستند بنویسید ، اما نه فقط به خاطر آن
  • از "اعداد جادویی" استفاده نکنید که باعث می شود خواننده اهمیت آنها را حدس بزند. به عنوان ثابت با نامهای معنی دار تعریف کنید

وضوح ساختار

به راحتی می توان دید که چگونه قسمت های مختلف برنامه در کل جای می گیرد.

  • کلاس ها و روش های طولانی را به روش های کوچکتر تقسیم کنید
  • حتی برای بلوک های تک خطی از بریس استفاده کنید ، زیرا به راحتی می توان ساختار را در غیر این صورت تفسیر کرد
  • از لانه سازی عمیق حلقه ها و آزمایشات مشروط خودداری کنید
  • زمینه ها و روش ها را خصوصی کنید مگر اینکه نیاز به دسترسی به کلاس های دیگر داشته باشید

صحت و قابلیت حفظ

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

  • کد فاکتور کپی شده در روش ها به روشی مشترک که توسط هر دو نامیده می شود
  • زمینه ها و روش های کپی شده در کلاس ها را به یک ابرقهرمان که توسط هر دو گسترش یافته است

تعدیل

کد مدولار را بنویسید. نگرانی های مختلف باید توسط کلاس های مختلف انجام شود ، و در صورت امکان حتی روش های مختلف در یک کلاس. این باعث می شود کد درک و حفظ آن آسان شود و به فرد اجازه می دهد تا از کد موجود برای اهداف جدید استفاده مجدد کند. این امر همچنین در مورد تمایز بین منطق دامنه و I/O صدق می کند. روشی که یک محاسبه پیچیده را انجام می دهد و همچنین نتیجه را برای یک پرونده چاپ می کند ، برای اهداف که شامل چاپ نتیجه نمی شود ، قابل استفاده مجدد نیست.

مثال ها

یک کلاس کامل

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

این مثال نشان می دهد:

  • فضاهای منفرد بین بیشتر کلمات ، شناسه ها و نمادها
  • خطوط خالی بین روشها
  • سبک "شتر" برای شناسه ها
  • تورفتگی نشان دهنده ساختار بلوک
  • نظرات javadoc برای روشهای کلاس و عمومی
  • نظرات داخلی در صورت لزوم برای روشن کردن هدف کد
  • اگر/شاخه های موجود در بریس ها حتی اگر یک جمله واحد باشد
  • روش های کوتاه
  • روشهای خصوصی مگر اینکه از خارج از کلاس استفاده شوند

مقایسه مقادیر

قطعه کد زیر ، آزمایش مقدار یک شرایط متغیر بولی ، صحیح است اما غیرقانونی است:

از آنجا که شرط بولی است ، شما نیازی به بررسی برابری ندارید. این دقیقاً همان است:

به همین ترتیب ، به جای

نوشتن ساده تر است:

این قطعه کد ممکن است نتایج غافلگیرانه ای داشته باشد:

بسته به نحوه تعریف S ، بلوک مشروط ممکن است اجرا نشود ، حتی اگر S شامل شخصیت های سلام باشد. این امر به این دلیل است که کد در حال بررسی است که آیا S دقیقاً همان شیء رشته ای است"سلام"بشردر عوض ، بنویسید:

واگذاری در مقابل مقایسه

این قطعه معتبر است اما احتمالاً کاری را که برنامه نویس در نظر گرفته است انجام نمی دهد:

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

سادگی

تست های تو در تو

تست دوتایی در این مثال غیر ضروری است:

از آنجا که چک ها می توانند ترکیب شوند:

توجه داشته باشید که بریس ها حتی اگر تورفتگی تغییر یابد ، جریان کنترل را آشکار می کند.

عبارات بولی مشروط

کد موجود در این مثال پیچیده تر از آنچه لازم است وجود دارد:

مقایسه های صریح را می توان از بین برد:

وضوح مقایسه تو در تو

یک مقایسه آبشار واحد تمایل به واضح تر از یک سری مقایسه های تو در تو دارد ، به عنوان مثال:

احتمالاً واضح تر است:

متغیرهای غیر ضروری

کد موجود در این مثال پیچیده تر از آنچه لازم است وجود دارد:

هر دو متغیر بولی را می توان با اجازه دادن نتیجه روش از درون حلقه از بین برد:

خبرهای فارکس...
ما را در سایت خبرهای فارکس دنبال می کنید

برچسب : نویسنده : شهره لرستانی بازدید : 49 تاريخ : يکشنبه 7 خرداد 1402 ساعت: 23:55