حسین احمدی
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

چگونه کدهای با کیفیت تری بنویسیم ؟ 7 نکته برنامه نویسی با کیفیت

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

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

اما یک مسئله مهم وجود دارد که هر برنامه نویسی باید به آن توجه کند و آن کیفیت کدی است که تولید می کند. اما چه مواردی است که کیفیت کد نرم افزار را تضمین می کند؟ هر برنامه نویس احتمال دارد به این پرسش، جواب جداگانه ای بدهد. در این مقاله قصد دارم تا در مورد هفت ویژگی که تضمین کیفیت کدهای یک برنامه نویس هستند صحبت کنم. پس تا انتهای این مقاله همراه بنده باشید.

وب سایت توسینسو

1. دریافت خروجی مورد نظر از کد

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

وب سایت توسینسو

2. خواندن کد باید راحت باشد

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

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

3. قابلیت تست کد

زمانی که نرم افزاری در حال توسعه است، باید کد آن به نحوی نوشته شود که بتوان برای آن کد به راحتی تست نوشت. یکی از مباحث مهم در کد نویسی بحث Unit-Testing می باشد. برای هر بخش کد باید تستی نوشت تا در صورت تغییر کد، با اجرای تست ها از صحت کارایی و خروجی های مدنظر اطمینان حاصل کرد. تست ها دو بخش می شوند، تست هایی که از قبل برای کد نوشته شده و تست هایی که قرار است برای کد نوشته شود. شاید شما به عنوان برنامه نویس جدید نیاز داشته باشید برای کدهای قبلی تست های جدیدی بنویسید. آشنایی با مفاهیمی مانند Stub ها و Mock ها برای نوشتن کدهای قابل تست به برنامه نویسان کمک زیادی می کند.

وب سایت توسینسو

4. سادگی در به روز رسانی و نگهداری کدها

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

5. لذت بردن از نگاه کردن به کد

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

6. سادگی کد نوشته شده

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

کدهای نوشته شده را بررسی کنید و تعداد خطوط را تا جایی که می توانید کم کنید. از نوشتن حلقه های تو در تو (nested loops) و دستورات شرطی طولانی خودداری کنید. بدنه متدها و بلاک های کد را تا جایی که می توانید کوتاه کنید. متدهایی که دارای پیچیدگی الگوریتمی هستند به چندین متد بشکنید تا هر متد یک وظیفه خاص را انجام دهند. یکی از مهمترین موارد، خودداری از نوشتن کدهای تکراری یا Duplicate Code هست. با تکنیک های Refactoring کد آشنا شوید تا بتوانید تا جایی که می توانید کد خود را ساده کنید.

وب سایت توسینسو

7. اطمینان از بهینه بودن کد

زمانی که کدی را می نویسید، باید از منابع در اختیار به بهترین و بهینه ترین شکل ممکن استفاده کنید. سرعت اجرای کدها، استفاده از الگوریتم هایی با پیچیدگی زمانی کمتر، استفاده حداقلی از منابعی مانند حافظه RAM و CPU از ویژگی های یک کد با کیفیت می باشد. صد در صد کاربر نهایی که از نرم افزار نوشته شده توسط شما استفاده می کند، به هیچ عنوان دوست ندارد برای مشاهده نتیجه هر کاری کامپیوتر را رها کرده، یک چای بنوشد و منتظر باشد تا کار مدنظرش انجام شود.

زمانی که در حال نوشتن یک برنامه هستید سعی کنید از ابزارهای تست کارایی نرم افزار و تکنیک های Multi-Threading در کد نوسی استفاده کنید. به عنوان ویژگی شماره یک گفتیم که کد نوشته شده باید خروجی مورد نظر را تولید کند و به عنوان آخرین ویژگی می گوییم این خروجی با بیشترین سرعت و کمترین زمان ممکن باید تولید شود.موارد شاید زیاد باشند، اما به نظر من این هفت ویژگی بسیار مهم می باشند. نظر شما چیست؟ شما به عنوان یک برنامه نویس چه فاکتورهایی را در نوشتن کدهای خود رعایت می کنید؟ ITPRO باشید.

نویسنده: حسین احمدی

منبع: جزیره برنامه نویسی وب سایت توسینسو

هر گونه نشر و کپی برداری با ذکر نام نویسنده و منبع بلامانع می باشد


حسین احمدی
حسین احمدی

بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

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

نظرات