سلام خدمت شما بازدیدکنندگان محترم.
امیدوارم که از مجموعه مقالات آموزشی کدنویسی تمیز که تا این قسمت منتشر شده بهره برده باشین.
اگه هنوز مقالات رو شروع نکردین، پیشنهاد میکنم که از طریق لینک زیر به مجموعه مقالات کدنویسی تمیز دسترسی داشته باشین.
در این قسمت، قصد داریم تا به موضوع زیباییشناسی در کدنویسی بپردازیم.
مقدمه
برای اینکه با اهمیت زیبایی شناسی در کدنویسی آشنا بشین بیان قبلش با یه مثال کار کنیم.
احتمالا شما هم روزنامهها و مجلات مختلفی رو دیدین که ظاهر گرافیکی خاصی دارند. و یه سری اصول ثابتی در اونها رایج هستش.
مثلا همهی اونا دارای فهرست مطالب هستند که با ذکر کردن شماره هر صفحه متناسب هر موضوع، دسترسی به بخشهای مورد نظر آسونتر میشه.
عناصر و بخشهای مختلفی مجله شامل متون و تصاویر با چینش و ترتیب و با ترازبندی خاصی کنار هم قرار گرفتهاند و مثلا به صورت پراکنده نیستند. این کار نیز یکپارچگی بصری به مخاطب میده و خواننده احساس گیجبودن نمیکنه.
یا مثلا فاصلهها و فضای خالی در میان عناصر از نسبتهای خاصی پیروی میکنند.
و به طور کلی وقتی صحبت از زیباییشناسی یه مجله میشه به ظاهر و عناصر بصری که شامل نحوهی چینش عناصر، ترازبندی و … هستش پرداخته میشه و با محتوای اون کار نداریم. به طور مشابه میتونیم چنین اصول زیباییشناسی رو در کدنویسی تمیز هم داشته باشیم و با دانستن برخی نکات، یکپارچگی و انسجام متناسبی به کدهامون بدیم به نحوی که خوانندهی کدها، احساس خوبی از اون داشته باشه و کمتر سردگرم بشه.
حتی الامکان از IDE های رایج استفاده کنید
حتی الامکان سعی کنید از ویرایشگرهای متنی محبوب مثل Atom، vs code و… استفاده کنید. چرا که با استفاده از IDE ها سرعت توسعهی برنامههامون سریعتر میشه و خیلی از کارها رو به صورت اتوماتیک برای ما انجام میده. یکی از قابلیتهای رایجی که در IDE ها وجود داره، منظم کردن فاصلهی کدها هستش. این فاصلهها هم شامل فاصلههای عمودی بین خطوط و هم فاصلههای افقی هستش. به عبارتی با این قابلیت نوعی ترازبندی در سطح کدها ایجاد میشه که باعث به وجود آمدن یکپارچگی بصری میشه و احساس خوبی رو به خواننده هنگامی بررسی کدها میده.
شکستن به فایلهای جداگانه
شکستن به فایلهای جداگانه، ایمپورت کردن به صورت خودکار انجام میشه.
یکی از مواردی که باعث ناخوانایی کدها میشه، فایلهای با تعداد خطوط زیاد هستش. مثلا برنامهای رو تصور کنید که فقط دارای یه فایل main هستش و شامل هفتصد، هشتصد خط کد هستش. کار کردن با چنین فایلهای طولانی و پیمایش کردن بین اونها دشوار هستش. اگه بخوام اهمیت این موضوع رو روشن کنم بیاین یه مثال بزنیم. مطالعهی یک کتابی که فقط شامل یک فصل هستش راحتتره یا کتابی که از بخشها و فصلهای مختلفی تشکیل شده؟ مسلما کتابی که محتوای اون به تناسب به بخشها و فصلهای مختلف دستهبندی شده راحتتر هستش. به طور مشابه کدهایی که به فایلهای جداگانه تقسیم شدهاند، کار کردن با اونها راحتتر هستش.
توصیه میشه که حتی الامکان کدهاتون رو به فایلهای جداگانهای بشکنید و در بخشهای مورد نیاز اونها رو import کرده و استفاده کنید. این کار چند مزیت داره:
باعث خوانایی بهتر و پیمایش سریعتر در بین کدها میشه. این جوری دیگه خواننده مجبور نیستش برای پیدا کردن یه بخش خاص، کل فایلها رو بگرده.
باعث رعایت اصل DRY یا Don’t Repeat yourself میشه. این یه اصل رایج هستش که به بیان ساده یعنی، حتی الامکان از کپی پیس کردن تکه کدها در سراسر برنامهتون پرهیز کنید. تعریف کردن توابع و کلاسهای مختلف در فایلهای جداگانه، باعث میشه که در سایر قسمتها، دوباره مجبور به تعریف دوباره اونها نباشیم و کافیه که در فایلهای دیگه با import کردن اونا و فراخوانی توابع مورد نظر برنامهمون رو تکمیل کنیم.
از نوشتن توابع طولانی پرهیز کنید.
یکی از موارد دیگه که باید از اون پرهیز کنیم، توابع طولانی هستند. حتی الامکان سعی کنید تعداد خطهای توابع تون کم باشه و اگه برخی جاها احساس میکنید که توابع طولانی نوشتید، سعی کنید که خطوطی از توابع که در حال انجام یه کار خاصی هستند رو پیدا کنید و اونها رو در توابع جدیدی تعریف کنید و در تابع اصلی تنها اونها فراخوانی کنید. بسته به نوع عملیاتی که انجام میدین ممکنه که پارامترهای ورودی و خروجی نیز برای اون زیر توابع تعریف کنید.
سخن پایانی
در این قسمت از مقاله، درباره اهمیت زیباییشناسی در کدها پرداختیم. همونطور که در ابتدای مقاله نیز اشاره کردیم، در این لایه به محتوا و منطق کدها توجه نمیکنیم و تنها به مواردی ظاهری و بصری کدها اهمیت میدهیم. و اگه بخوام تمام نکات رو خلاصه کنم: اینه که
تا اونجایی که میتونید برنامهتون رو به بخشهای مختلف بشکنید و از طولانی شدن تعداد خطهای توابع و فایلها جلوگیری کنید.
به فاصله گذاریها دقت داشته باشید و بخشهای مختلف رو به واسطهی فضای سفید از هم جدا کنید تا انسجام و تمایز بخشهای مختلف حفظ بشه.
امیدوارم که این قسمت آموزشی نیز براتون مفید بوده باشه. همچنین میتونید نظرات خودتون رو در انتهای این مقاله بنویسید.
آشنایی با مفاهیم کدنویسی تمیز + راهکارهای کاربردی برای نوشتن کدهای خوانا