۸ نکته برای نوشتن کدهای خواناتر

آفلاین
user-avatar
ارسطو عباسی
06 شهریور 1400, خواندن در 7 دقیقه

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

در این مطلب از وبسایت آموزشی راکت قصد داریم در رابطه با ٨ نکته آموزشی صحبت کنیم که به شما کمک می‌کند تا کدهای خوانا‌تری داشته باشید.

۱. کامنت‌گذاری و مستندنویسی

همانطور که می‌دانید کامنت‌نویسی هیچ مشکلی و تغییری در فرایند اجرای نهایی پروژه‌تان بوجود نمی‌آورد. در نتیجه برای آنکه توسعه‌دهندگان دیگری که به کدهای شما دسترسی دارند بتوانند بهتر آن را متوجه شوند بهتر است فرایند کامنت‌گذاری را رعایت کرده و کامنت‌های معناداری برای هر قطعه کدتان بنویسید.

البته این موضوع را در نظر بگیرید که نیازی به کامنت نوشتن در همه جا نیست. برای مثال زمانی که یک بلاک کد خیلی ساده می‌نویسید هیچ نیازی به توضیح نوشتن ندارید چرا که استفاده بی رویه از آن باعث ایجاد کدهای بهم ریخته و اصطلاحا «الکی شلوغ» می‌شود.

جدای از آن تهیه مستندات برای کدها و علل خصوص توابعی که ایجاد می‌کنید تاثیر بسیار خوبی روی درک بهتر کدها خواهد داشت. یک مستند ساده می‌تواند شامل توضیحی کلی از پروژه، ابزارهای استفاده شده، توابع و دستورات سفارشی به کار رفته و... شود.

۲. تورفتگی‌های مداوم

مطمئنا شما می‌توانید در زبان‌هایی غیر از زبانی مانند پایتون بدون استفاده از تورفتگی یا Indetetaion کدهای‌تان را نوشته و حتی در بیشتر مواقع خروجی بدون مشکلی را دریافت کنید. بنابراین به نظرتان چرا تورفتگی‌ها آنقدر اهمیت دارند؟

تورفتگی باعث می‌شود تا بتوانید کدهای خواناتری را هم برای خودتان و هم برای دیگران ایجاد کنید. با بهره گرفتن از این ویژگی می‌توانید بصورت بسیار واضح‌تری حدود بلوک‌ها و توابع را مشخص کرده و باعث سردرگمی خودتان در آینده و یا همکاران‌تان نشوید.

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

function do_stuff() {
 
// ...
 
    if (is_writable($folder)) {
 
        if ($fp = fopen($file_path,'w')) {
 
            if ($stuff = get_some_stuff()) {
 
                if (fwrite($fp,$stuff)) {
 
                    // ...
 
                } else {
                    return false;
                }
            } else {
                return false;
            }
        } else {
            return false;
        }
    } else {
        return false;
    }
}

بر طرف کردن چنین حالتی مطمئنا کار ساده‌ای نخواهد بود، اما در این مرحله‌ست که مرز میان برنامه‌نویس حرفه‌ای و برنامه‌نویس مبتدی بوجود می‌آید.

۳. فاصله‌گذاری بلوکی

همیشه سعی کنید در بین هر بلوک یا قطعه کدی که می‌نویسید و الزاما ارتباطی با هم ندارند یک فاصله خالی قرار دهید. کارتان را می‌توانید با یک Enter ساده انجام دهید.

۴. نام‌گذاری ثابت

برخی از زبان‌های برنامه‌نویسی از یک اصل خاص برای نامگذاری پیروی می‌کنند اما برخی دیگر بدین صورت نیستند. در این صورت بهتر است خودتان یک روش خاص پدید آورده و براساس آن تمام پروژه‌تان را پیش ببرید. این موضوع را نیز حتما به یاد بسپارید که نیاز است تا از روش استفاده شده‌تان در مستندات و یا کامنت اولیه پروژه اسم برده و توضیحاتی ارائه دهید.

در حال حاضر تنها دو روش بسیار مرسوم برای نام‌گذاری وجود دارد که یکی از آن حالت-شتری یا camleCase نام دارد و حالت دوم استفاده از _ در بین کلمات مختلف متغیرها و توابع است. برای مثال: mysql_string_escape

یک روش دیگر برای نام‌گذاری استفاده کردن از دو حالت گفته شده بصورت ترکیبی است. به این صورت که شما توابع‌تان را براساس camleCase نامگذاری کرده و متغیرهای عادی را براساس همان حالت ساده استفاده از (آندرسکور).

۵. خودتان را تکرار نکنید

قاعده Don’t Repeat Yourself یکی از قواعد مشهور دنیای برنامه‌نویسی است که با هدف کم کردن کدهای تکراری استفاده می‌شود. زمانی که شما یک تابع با نام و کارکرد خاصی دارید نیازی نیست که یکبار دیگر آن را در جایی دیگر تعریف کنید، تنها کاری که نیاز است در این حالت انجام شود فراخوانی مجدد آن بوده و دیگر نیازی به تکرار نیست.

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

۶. محدود کردن تعداد کاراکترهای موجود در یک خط

یک روش آسان برای بهبود فرایند خواندن یک متن (چه کد و چه متن عادی) این است که تعداد کاراکتر یا حروفی که در یک خط قرار می‌دهید را محدود به مقادیر خاص و تعیین شده بکنید. این اتفاق زمانی که مشغول نوشتن کوئری‌های بانک اطلاعاتی هستید بیشتر اتفاق می‌افتد. برای مثال به کد زیر دقت کنید:

$query = "SELECT id, username, first_name, last_name, status FROM users LEFT JOIN user_posts USING(users.id, user_posts.user_id) WHERE post_id = '123'";

با استفاده از روش گفته شده می‌توانید قطعه کد بالا را بصورت زیر که بسیار خواناتر و بهتر است بنویسید:

$query = "SELECT id, username, first_name, last_name, status
    FROM users                                                                  
    LEFT JOIN user_posts USING(users.id, user_posts.user_id)
    WHERE post_id = '123'";

۷. مدیریت فایل و دایرکتوری‌ها

اگر از دیدگاه تکنیکی به قضیه نگاه کنیم، در اکثر مواقع می‌توانیم کل یک پروژه را در تنها در یک فایل بنویسیم. اما این کار را هرگز انجام ندهید چرا که برای خود و برای بقیه به مانند یک کابوس خواه بود.

برای مثال شما به یک وبسایت فکر کنید که کل استایل‌ها و کدهای جاوااسکریپتی آن تنها در یک فایل index.html قرار دارد. وحشتناک است! نه؟!

خب راهکار ساده شما برای انجام چنین کاری جدا کردن هر بخش از بخش دیگری با استفاده از به کار بردن فایل‌ها و پوشه‌های مختلف است. با انجام چنین کاری زمانی که پروژه شما بزرگ‌تر می‌شود می‌توانید بهتر تمام جنبه‌های آن را مدیریت کرده و قابلیت نگهداری کدها را افزایش دهید.

۸. استفاده از نام‌های کوتاه و حتی بی معنی برای متغیرهای موقت

بسیاری از اوقات پیش خواهد آمد که شما از یک متغیر تنها در یک بلوک حلقه‌ای استفاده می‌کنید. در این حالت شما نیازی به این ندارید که حتما از یک نام معنی‌دار استفاده کنید چرا که مطمئنید از این متغیر بعدها استفاده نخواهید کرد.

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

برای مثال متغیر i و j را در قطعه کد زیر مشاهده کنید:

// $i for loop counters

for ($i = 0; $i < 100; $i++) {
    // $j for the nested loop counters
    for ($j = 0; $j < 100; $j++) {
    }

}

جمع‌بندی

در این مقاله از وبسایت راکت ما ۸ نکته برای خواناتر نوشتن کدها را بررسی کردیم که استفاده از آن‌ها می‌تواند بصورت مستقیم روی بهینه‌تر بودن کدهای‌تان تاثیرگذار باشد. اگر شما نیز تکنیک خاصی در تجربه‌های‌تان برای انجام این کار را دارید حتما آن را با ما به اشتراک بگذارید.

چه امتیازی به این مقاله می دید؟
خیلی بد
بد
متوسط
خوب
عالی

دیدگاه‌ها و پرسش‌ها

برای ارسال دیدگاه لازم است، ابتدا وارد سایت شوید.

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

آفلاین
user-avatar
ارسطو عباسی @arastoo
برنامه‌نویس وب و مدیر بخش تولید محتوا وبسایت راکت
دنبال کردن

گفتگو‌ برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن وارد شو