پنج قاعده افزایش خوانایی کد

خوانایی کد یکی از ویژگی های اپلیکیشن شماست )حتی اگر کاربر کد برنامهشما آن را نبیند(برای افزایش خوانایی کد پنج قاعده وجود دارد . این پنج قاعده رامیتوان برای انواع پروژه ها، تیم ها و سازمان ها فراگرفت.1 -استفاده دوباره از آنچه که بیش از یک بار از آن استفاده میشود.2 -خوانایی و قابلیت نگهداری بیش از یک راه حل عمومی3 -ساخت ماژول ها، کالس ها یا کامپوننت ها )اجزای برنامه( به صورت کوتاهو صحیح.4 -برخورداری از قواعد و دستورالعمل ها در کد هایتان5 -نوشتن کد بصورتی که در یک تیم فعالیت میکنید؛ حتی اگر این تیم تکنفره باشد.1 -استفاده دوباره از آنچه که بیش از یک بار از آن استفاده میشود.اکثر توسعه دهندگان با مفهوم (Yourself Repeat Dont(Y.R.D( اصلخودت را تکرار نکن( آشنا هستند. این اصل به شما کمک میکند از کپی کردن خودداری کنید. چرا یک تابع را بارها و بارها بنویسیم ؟ شما باید کدتان را یکبار بنویسید و درموقعیت های دیگر از آن دوباره استفاده نمایید . اگر باید کدتان را تغییر دهید،میتوانید به جای آنکه چندین بار آن را کپی کنید، یکبار آن را تغییر دهید. توجه داشته باشید که باید با پیچیدگی های اصلDRY آشنا باشید؛ چرا که درپایان کار، مواردی بارها و بارها دوباره استفاده می شوند. اهمیت نوشتن تست ها زمان استفاده دوباره از قسمت هایی از کد ، هنگامیکه شروع به تغییر کد میکنید کامال مشخص خواهد بود.2 -خوانایی و قابلیت نگهداری بیش از یک راه حل عمومیقابلیت استفاده مجدد ، خوانایی و قابلیت نگهداری ، همزمان دوست و دشمنیکدیگرند . زمانی که شروع به استفاده از Y.R.D میکنید ، متوجه پیچیدگی کد تان خواهید شد . درصورتی که کد شما پیچیده شود ، خوانایی آن میتواندکاهش پیدا کند . هنگامی که جزئیات را می سازید ، با راه حل های عمومی شروع نکنید ، ساده شروع کنید ! اولین مرتبه نمی توانید بی نقص عمل کنید .با تکرار کردن میتوانید از قسمت های مختلف برنامه خود چندین بار استفاده نمایید؛ اما DRY میتواند از خوانایی و قابلیت نگهداری کدتان ممانعت میکند.زمانی که برای سازمانی باتعداد زیادی تیم توسعه دهنده کار میکنید، تیم شمامیتواند به افراد داخلی و خارجی ) مانند فریلنسر ها و مشاوران ( تقسیم شود؛پس در این زمان افراد ممکن است از سازمانی به سازمان دیگر منتقل شوند. در این مواقع خوانایی و قابلیت نگهداری کد ، از کلید های موفقیت هستند . روش های عمومی که توسط اشخاصی استفاده می شوند که شاید به آسانی ازتیم اخراج شوند ، انتخاب هوشمندانه ای نیست . در برخی از مواقع نیاز به استفاده از راه حل های عمومی دارید ؛ اما راه حلی که همچنان خوانایی کد و قابلیت نگهداری آن را حفظ کند.3 -ساخت ماژول ها، کالس ها یا کامپوننت ها )اجزای برنامه( بهصورت کوتاه و درست.زمانی که می خواهید جزئیات جدیدی برای برنامه خود ایجاد کنید ، شایدبه دقت برای آن برنامه ریزی کنید . بهترین راه حل ها ، آنهایی هستند که می توانند به ماژول ها، کالس ها و کامپوننت هایی کوچک تقسیم شوند. به این مثال توجه کنید : تکه کدهای کوتاه ، برای تست و نگهداشتن آسان تر هستند . تصور کنید که ساختن یک ساختمان بلند نیز با جابه جایی اجزای کوچک به جای ساختن یکباره کل آن و سپس تالش برای منتقل کردن آن به موقعیت آسان تر است. البته در این میان استثنائاتی هم وجود دارد. اغلب کتابخانه ها و فریم ورک های امروزی به جای یک فایل به بلوک های ساخته شده کوچک تقسیم میشوند . کتابخانه ها و فریم ورک های جاوااسکریپت مانند: انگوالر، ریَکت و ویو ، این روش را بکار می گیرند. 4 -برخورداری قواعد و خطوط راهنما در کد هایتانیکی از بخش های نوشتن کد خوانا و قابل نگهداری ، معماری آن است. بخش دیگر سبک کد نویسی است. شاید بسیاری از شما با " استفاده از تب و اسپیسبرای فاصله گذاری " آشنا باشید.هرآنچه در تیمتان استفاده می کنید، مطمئنشوید که برای همه واضح است.بهترین روش آن است که اکثر قواعد و دستورالعمل های سبک کد را بصورتخودکار کنید. اکثرIDE ها این امکان پیشرفته را دارند و یا میتوان آنها را از طریق پالگین ها نصب نمود. از آسان ترین شیوه ها در میان زبان ها و ویرایشگر های کد مختلف ، کد nfig است . با افزودن editorconfig .این قواعد اعمال خواهندشد. ) با ایجاد این فایل در هر پروژه، برنامه نویسان مختلف نیز متوجه میشوندکه قوانین شیوه کدنویسی در این پروژه به چه صورت است( شما می توانید تنظیمات زیادی برای پروژه تان در این فایل ها قرار دهید. تنظیم کردن آن ها بصورت سراسری و برای زبانهای خاص امکان پذیر است.بعنوان مثال: سبک فاصله بندی: تب و اسپیسنوع نقل قول: تکی و دوتاییبیشترین طولتنظیم کاراکترنمونه پیکربندی یکی از پروژه ها:# Editor configuration, see https://editorconfig.orgroot = true[*]charset = utf-8indent_style = spaceindent_size = 2insert_final_newline = truetrim_trailing_whitespace = true[*.ts]quote_type = single[*.md]max_line_length = offtrim_trailing_whitespace = falseابزار های زیادی وجود دارند که مخصوص زبان های خاص هستند.من استفادهاز prettier ( از ابزار های قدرتمند شکل دهنده کدیا Formating Code)را ترجیح می دهم؛ اما شما میتوانید از گزینه های دیگری هم استفاده نمایید.اهمیتی ندارد که از کدام ابزار استفاده میکنید. مهم آن است که آنچه بر روی پروژه خود استفاده می کنید؛ قواعد و راهنمای یکسانی داشته باشد.5 -نوشتن کد بصورتی که در یک تیم فعالیت میکنید؛ حتی اگراین تیم یک نفره باشد.گرچه این آخرین مورد است؛ اما بی اهمیت نیست.می توانید تصور کنید برای افرادی که هیچ تجربه ای از کدنویسی نداشته اند،درکی ازآن ندارند. اما اگر پروژه ای را خودتان کدنویسی می کنید، شاید تمایلپیدا کنید که آنها را بگونه ای بنویسید که فقط خودتان آن را درک کنید.بطور مثال: نوشتن اسامی متغیر ها به صورت نامفهوم و استفاده از نام متغیر دو سه حرفی و غیره.سعی کنید بگونه ای کدنویسی کنید که دریک تیم فعالیت می کنید. تصورکنید چقدر خوب است اگر کدهایتان بگونه ای واضح باشد که برای دیگران همبه آسانی قابل فهم باشد. این کد را میتوانید به راحتی با پرسش از دوستان و افراد دیگر ازطریق توئیتر در انجمن های توسعه دهندگان برای سنجش خوانابودن آن آزمایش کنید. قطعا بازخورد مفیدی خواهید گرفت.