كلين كد چيست؟
اگر كلمه clean code را ترجمه كنيم، به عبارت كد تميز ميرسيم كه متضاد با كد كثيف يا Dirty Code است. در واقع كلين كد به كدي گفته ميشود كه به صورت منظم، گويا و شفاف نوشته شده باشد و هر برنامهنويسي ديگري نيز بتواند متوجه آن شود. در يك كد تميز، تمام توابع و دستورات به صورت شفاف مشخص شده و تمام علائم دستوري به صورت منظم كنار هم قرار گرفتهاند. در نتيجه هر فرد آشنايي با فرايند برنامهنويسي و زبان مربوطه، به راحتي ميتواند مفهوم و دليل استفاده هر يك از كدها را درك كند. همچنين گاهي اوقات در كد تميز، دستورات و بخشهاي پيچيده با استفاده از كامنت توضيح داده ميشوند.
در نقطه مقابل كلينك كد، dirty code يا كد كثيف قرار دارد كه خروجي بسيار نامناسبي داشته و يك برنامهنويس ديگر نميتواند درك درستي از بخشهاي مختلف آن داشته باشد. در نتيجه تحليل و بررسي اين نوع كد براي ديگر برنامه نويسان سخت خواهد بود و مشكلات زيادي را به وجود ميآورد.
مزاياي كلين كد چيست؟
تا اينجاي مطلب به طور خلاصه به سوال كلين كد چيست پاسخ داديم و به شما گفتيم كه كد نويسي تميز يعني چه؟ حالا در ادامه مطلب قصد داريم مزاياي كدنويسي تميز را ذكر كنيم و دلايل اهميت زياد آن را به شما بگويم.
افزايش قابليت تست و تحليل كد:
همانطور كه در بخش قبل نيز به آن اشاره كرديم، يكي از مهمترين مزاياي كدنويسي تميز اين است كه برنامه نويسان ديگر نيز ميتوانند كد شما را مورد بررسي قرار دهند. در واقع زماني كد به صورت شفاف و روان همراه كامنتهاي شفافسازي نوشته شده باشد، بيشتر قابل درك خواهد بود. فرض كنيد كه به عنوان برنامهنويس در يك تيم حضور داريد و بايد با ديگر برنامه نويسان حاضر در گروه مشاركت و تعامل داشته باشيد. در چنين شرايطي اگر كدهاي شما به صورت تميز و شفاف نوشته نشده باشد، در برقراري تعامل و مشاركت با ديگر هم تيمهاي خود با چالشهاي زيادي روبرو خواهيد بود.
تسهيل فرايند بازبيني و اصلاح كدها:
همچنين زماني كه كد به صورت تميز نوشته شود، زماني كه نياز باشد تا دوباره به بخشهاي مختلف پروژه خود رجوع كنيد، با مشكل مواجه نخواهيد بود. طراحي صفحه اول وب سايت احتمالا براي شما هم پيش آمده كه نياز باشد تا بخشي از كدهاي پروژه خود را تغيير دهيد يا آنها را حذف كنيد؛ در اين شرايط اگر كد شما تميز نباشد، احتمالا نميتوانيد بخشهاي مختلف كد با يكديگر تفكيك كرده و تغييرات مورد نظر خود را اعمال كنيد. پس كلين كد بر روي خروجي و سطح كيفي كار خودتان نيز تاثير بسزايي دارد.
صرفه جويي در زمان:
مزيت مهم ديگر كد نويسيتميز، صرفهجويي در زمان است. به طور كلي هر چقدر كه كد تميزتر و شفافتر نوشته شده باشد، به همان نسبت زمان انجام پروژه نيز كاهش پيدا ميكند. هر برنامهنويس بارها بخشهاي مختلف كدهاي خود را چك ميكند و در صورتي كه هر كد به اندازه كافي روان و تميز نباشد، بايد وقت زيادي را براي تغيير آن اختصاص دهيد. همچنين در اين شرايط اگر پروژه باگ داشته باشد و به درستي كار نكند، راحتتر ميتوانيد آن را اصلاح كنيد. پس به واسطه كلين كد ميتوانيد تا حد زيادي در وقت خود صرفهجويي كنيد و در مدت زمان كمتري پروژه را به كارفرما تحويل دهيد.
اصول كد نويسي تميز چيست؟
بعد از مبحث كلين كد چيست و چه مزايايي دارد، در ادامه به صورت كلي اصولي كد نويسي تميز را به شما آموزش ميدهيم.
خوانايي:
يكي از اصول كد نويسيتميز، خوانايي است. همانطور كه گفتيم بنا به دلايل متعدد كدها بايد خوانا و شفاف نوشته شوند. در نتيجه سعي كنيد تا به صورت منظم و تفكيك شده فرايند كدنويسي را انجام دهيد.
سادگي:
سادگي نقش مهمي در كدنويسي تميز دارد. در واقع شما بايد تلاش كنيد تا با استفاده از توابع مختلف، كدهاي خود را تا سر حد امكان ساده بنويسيد و از هرگونه پيچيدگي دوري كنيد. سادهنويسي كدها هم باعث ميشود تا هم در صورت وجود باگ، راحتتر بتوانيد كدهاي خود را اصلاح كنيد و هم باعث ميشود تا بتوانيد پروژه خود را در بازه زماني كوتاهتري به اتمام برسانيد. پس سعي كنيد ساده كدنويسي كنيد و از روشها و دستورات پيچيده، كمتر استفاده كنيد.
مديريت آرگومان ها:
به طور كلي به منظور كدنويسي تميز، بهتر است تا تعداد زياد تابع آرگوماني در كدهاي شما وجود نداشته باشد. همچنين براي خوانايي بيشتر كدها، بهتر است بدنه توابع بلند را شكسته و بخشهاي مختلف آن را در تابع ديگري قرار دهيد. به اين صورت ميتوانيد از طولاني و پيچيده شدن توابع جلوگيري كنيد.
در مورد توابع اين نكته مهم را در نظر داشته باشيد كه هر تابع فقط و فقط وظيفه انجام يك عملكرد را دارد و به هيچ عنوان سعي نكنين دو كار جداگانه را در يك تابع انجام بدين (حتي اگر عملكرد مورد نظرتون فقط يك خط كد باشد)
نامگذاري مناسب:
در فرايند كدنويسي بايد اسم مناسبي را براي هر كلاس تابع انتخاب كنيد. با انتخاب اسم مناسب براي هر كلاس، راحتتر متوجه عملكرد تابعهاي موجود خواهيد شد. همچنين وجود كلاسهاي مناسب سبب ميشود تا هنگام بازبيني كدها، با چالشهاي تشخيص تابع مواجه نشويد.
انتخاب زبان مناسب:
بهتر است قبل از شروع كدنويسي، زبان مناسبي را براي انجام پروژه مورد نظر خود انتخاب كنيد. به عنوان مثال اگر به هر دو زبان پايتون و php مسلط هستيد، بهتر است براي برنامهنويسي بكاند يك وبسايت بنا به نياز پروژه عمل كنين و هر زبان كه با هزينه كمتر و كيفيت بهتر پروژه شما را پياده سازي ميكنند، از آن زبان و تكنولوژي استفاده كنيد.
تست پذيري:
يكي از مواردي كه بايد در پاسخ به سوال اصول كد نويسي تميز چيست ؟ به آن اشاره كنيم، تستپذيري است. به طور كلي هر كدي كه از جوانب مختلف قابل تست نباشد، يك كد تميز نيست. پس بهتر است كدهاي خود را از ابعاد مختلف مورد بررسي قرار داده و آنها را تست كنيد تا مطمئن شويد كه به اندازه كافي تستپذير هستند.
كاهش وابستگي:
براي داشتن كلين كد، بايد Dependencies يا وابستگي در كدها كم باشد. وجود وابستگي كمتر باعث ميشود تا در آينده، راحتتر بتوانيد بخشهاي مختلف پروژه را تغيير دهيد.
كامنت گذاري كم:
اگر چه در بخش كلين كد چيست به اهميت كامنت در كدها اشاره كرديم؛ ولي بايد در نظر داشته باشيد كه نبايد تعداد زيادي كامنت در هر پروژه وجود داشته باشد. وجود كامنتهاي زياد در هر كد، بيانگر عدم شفافيت و خوانايي كافي هر كد است. در نتيجه سعي كنيد كدهاي خود را به حدي خوانا بنويسيد تا نيازي به تعداد زيادي كامنت براي توضيح بخشهاي مختلف نباشد.
بازبيني كدها:
در راستاي موضوع “اصول كدنويسي تميز چيست؟” بايد به بازبيني كدها اشاره كنيم. بازبيني كدهاي يك پروژه اهميت بسيار زيادي دارد. در واقع زماني كه شما چند بار كدهاي خود را بازبيني كنيد، متوجه خواهيد شد كه كدام بخشها ناخوانا و غير شفاف هستند. طراحي سايت وردپرسي در تبريز همچنين بازبيني كدها سبب ميشود تا شما خودتان را جاي برنامهنويس ديگري نيز بگذاريد و از نگاه او كدها را مورد بررسي قرار دهيد تا در صورت عدم شفافيت كافي، اصلاحات و تغييرات مورد نياز را اعمال كنيد.
دلايل كد نويسي كثيف توسط برنامه نويس:
كد نويسي كثيف دلايل متفاوتي دارد كه در ادامه به برخي از آنها اشاره ميكنيم.
مبتدي بودن برنامه نويس:
يكي از مهمترين دلايل كد نويسيكثيف، تازه كار بودن يك برنامهنويس است. به طور كلي زماني كه يك فرد تازه فرآيند آموزش خود را به اتمام رسانده باشد و بخواهد كدنويسي را شروع كند، آشنايي كافي به اصول كد نويسيندارد. به همين واسطه نميتواند تميز كد بنويسد و گاها براي اجرايي شدن پروژه خود، از توابع غير اصولي و پيچيده استفاده ميكند. همچنين فرد ممكن است كلاسها را به درستي نامگذاري نكند و در فرايند بازبيني و اصلاح توابع، مجبور شود تا به صورت پيچيده تغييرات را اعمال كند. علاوه بر اين موارد، يك برنامهنويس تازه كار معمولا تمايل دارد تا هر روش و تكنيكي كه فرا گرفته را در پروژه خود اجرايي كند و به همين واسطه ممكن است براي اجراي موارد مختلف پروژه خود، كدهاي غير ضروري و طولاني را بنويسد.
اگر شما هم يك برنامهنويس مبتدي هستيد، بايد تلاش كنيد تا با توجه به مواردي كه در بخش اصول كدنويسي تميز چيست؟ به آنها اشاره كرديم، كدها را به صورت خوانا، شفاف و كوتاه بنويسيد. همچنين در هنگام بازبيني كدها دقت زيادي به خرج دهيد.
عجله در برنامه نويسي:
يكي ديگر از مهمترين عواملي كه سبب كدنويسي كثيف ميشود، عجله در برنامهنويسي است. در شرايطي كه برنامهنويس قصد داشته باشد تا در مدت زمان كمتري پروژهاي را تحويل دهد و يا سريعتر به مقصد مورد نظر خود برسد، با عجله كدنويسي ميكند. اين موضوع سبب ميشود تا كدها اغلب غير قابل تست و درهم نوشته شوند و حتي اگر برنامه هم به درستي كار كند، به سختي ميتوان در آينده بخشهايي از آن را تغيير داده يا كدهاي موجود را مورد تحليل و بررسي قرار داد.
پس بهتر است در فرايند كدنويسي عجله نكنيد و دقت و زمان كافي را به انجام اين فرايند اختصاص دهيد تا هم خروجي كار مطلوب باشد و هم كدها به صورت تميز نوشته شوند.
به كلين كد توجه ويژه اي داشته باشيد!
در اين مطلب به بررسي سوالاتي از قبيل كلين كد چيست، كدنويسي تميز يعني چه؟ مزاياي كلين كد چيست؟ و اصول كدنويسي تميز چيست؟ پاسخ مناسب و كامل داديم. با توجه به توضيحات ذكر شده، قطعا به اهميت زياد كدنويسي تميز پي بردهايد. در نتيجه تلاش كنيد تا براي صرفهجويي در زمان و حفظ سطح كيفي كار خودتان، كدها را به صورت تميز و شفاف بنويسيد و تا سر حد امكان از نوشتن كدهاي طولاني، پيچيده و درهم پرهيز كنيد.
منبع: سبزلرن
برچسب: ،