تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

    بهترین نکات مربوط به کدنویسی تمیز (clean code)


    ۱۹ مهر ۱۴۰۲

    clean code یا کدنویسی تمیز به مجموعه‌ای از شیوه‌های برنامه‌نویسی گفته می‌شود که رعایت آن‌ها باعث افزایش خوانایی، پایداری و سادگی کد می‌شود.

    امروزه، کدنویسی تمیز به یک ضرورت تبدیل شده است چرا که به توسعه‌دهنگان کمک می‌کند تا کد را خیلی بهتر از قبل، درک کنند و در صورت نیاز، آن را، ساده‌تر، تغییر بدهند. کدنویسی تمیز در همین حین، زمان بیشتری برای ما می‌خرد و ریسک تقابل با ارور و خطا را برای ما کاهش می‎‌دهد. در ادامه برخی از روش‌های کدنویسی تمیز ذکر شده‌اند:

    1) برای متغیرهای خود، نام‌های با مسما به کار ببرید.

    بهتر است اسم متغیرها، معنی‌دار باشد و توضیحاتی در مورد داده‌ای که در بر دارد، به کاربر بدهد. همین نکته به ظاهر ساده، باعث می‌شود تا خوانایی کد افزایش یابد. مثال زیر را در نظر بگیرید:

    // Bad Example
    int x = 5;
    
    // Good Example
    int numberOfStudents = 5;

    2) کامنت‌های کمتری را به کار ببرید.

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

    // Bad Example
    // This function adds two numbers together and returns the result
    public int add(int num1, int num2)
    {
        // add the numbers together
        int result = num1 + num2;
        // return the result
        return result;
    }
    
    // Good Example
    public int Add(int firstNumber, int secondNumber)
    {
        int result = firstNumber + secondNumber;
        return result;
    }

    3) از قالب‌بندی ثابت استفاده کنید.

    استفاده از یک قالب‌بندی ثابت تاثیر قابل توجهی در افزایش خوانایی کد دارد. از جمله قالب‌بندی ثابت می‌شود به رعایت تورفتگی‌ها، براکت‌ها و فاصله‌گذاری‌ها اشاره کرد. مثال زیر را در نظر بگیرید:

    // Bad Example
    public void PrintName(string name)
    {
    Console.WriteLine("Name: " + name);
    }
    
    // Good Example
    public void PrintName(string name)
    {
        Console.WriteLine($"Name: {name}");
    }

    4) توابع و متدهای خود را کوچک و متمرکز بنویسید.

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

    // Bad Example
    public void DoEverything(int x, int y, int z)
    {
        // do something
        // do something else
        // and more
    }
    
    // Good Example
    public int Add(int firstNumber, int secondNumber)
    {
        return firstNumber + secondNumber;
    }
    
    public int Multiply(int firstNumber, int secondNumber)
    {
        return firstNumber * secondNumber;
    }

    5) برای توابع و کلاس‌های خود، نام‌های بامعنی پیدا کنید.

    همانطور که نام‌گذاری متغیرها در خوانایی کد بسیار مهم است، نام‌گذاری توابع، متدها و کلاس‌ها بر اساس نحوه کارایی آن‌ها نیز بسیار مهم است:

    // Bad Example
    public void DoSomething(int x, int y, int z)
    {
        // do something
    }
    
    // Good Example
    public void CalculateTotalCost(decimal price, int quantity)
    {
        // calculate total cost
    }

    6) از ارث‌بری و پلی‎مورفیسم استفاده کنید.

    دو اصل ارث‌بری (Inheritance) و چندریختی (Polymorphism) در شی‌گرایی باعث می‌شوند تا کد خیلی منعطف‌تر شود و تغییر آن آسان‌تر باشد:

    // Bad Example
    public class Animal
    {
        public void Walk()
        {
            // walk
        }
    }
    
    public class Dog
    {
        public void Walk()
        {
            // walk
        }
    
        public void Bark()
        {
            // bark
        }
    }
    
    // Good Example
    public abstract class Animal
    {
        public abstract void Walk();
    }
    
    public class Dog : Animal
    {
        public override void Walk()
        {
            // walk
        }
    
        public void Bark()
        {
            // bark
        }
    }

    7) استثناء‌ها و خطاها را مدیریت کنید.

    مدیریت استثناء‌ها (exception handling) باعث می‌شود خطاهایی که کاربران برنامه ممکن است با آن مواجه شوند، به صورت قابل توجهی مدیریت شود. این کار از رفتار غیرمنتظره کد جلوگیری می‌کند:

    // Bad Example
    public void Divide(int num1, int num2)
    {
        int result = num1 / num2;
    }
    
    // Good Example
    public void Divide(int num1, int num2)
    {
        try
        {
            int result = num1 / num2;
        }
        catch (DivideByZeroException ex)
        {
            Console.WriteLine("Cannot divide by zero");
            // log the error
        }
    }

    8) از دوباره‌نویسی پرهیز کنید.

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

    // Bad Example
    public void GenerateInvoice(string customerName, List<Product> products)
    {
        Console.WriteLine("Invoice for " + customerName);
        Console.WriteLine("Product\t\tPrice");
        decimal total = 0;
        foreach (Product product in products)
        {
            Console.WriteLine(product.Name + "\t\t" + product.Price);
            total += product.Price;
        }
        Console.WriteLine("Total\t\t" + total);
    }
    
    // Good Example
    public class Invoice
    {
        public string CustomerName { get; set; }
        public List<Product> Products { get; set; }
    
        public decimal GetTotal()
        {
            decimal total = 0;
            foreach (Product product in Products)
            {
                total += product.Price;
            }
            return total;
        }
    }
    
    public class InvoiceGenerator
    {
        public void GenerateInvoice(Invoice invoice)
        {
            Console.WriteLine("Invoice for " + invoice.CustomerName);
            Console.WriteLine("Product\t\tPrice");
            foreach (Product product in invoice.Products)
            {
                Console.WriteLine(product.Name + "\t\t" + product.Price);
            }
            Console.WriteLine("Total\t\t" + invoice.GetTotal());
        }

    منبع: medium.com

    برچسب‌ها:

    ســــــــــــــــــــــال‌هاست که هستیم

    ۶ سال در کنار شما تجربه جمع کردیم. تازه در ابتدای مسیر هستیم، مسیر ساخت آینده.

    جمع‌مـــــــــــان، جمع است

    بیش از ۴۰ هزار توسعه‌دهنده و صاحبان کسب و کار در جمع ما هستند. جای شما خالی‌ست...

    خدمات رایگان لیارا

    ۲.۵ گیگابایت فضای ذخیره‌سازی ابری رایگان

    ۲.۵ گیگابایت Object Storage سازگار با پروتکل S3 با دیسک‌های SSD به‌صورت رایگان دریافت کنید.

    هاست رایگان برای دیتابیس‌

    دیتابیس‌های MariaDB، PostgreSQL و Redis را فقط با یک کلیک و به‌صورت رایگان تهیه کنید.

    سرویس DNS رایگان

    به سادگی دامنه‌تان را اضافه کنید و به صورت رایگان رکورد‌های آن را مدیریت کنید.

    ۱۰۰ هزار تومان اعتبار اولیه

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

    ارسال ۱۰۰ ایمیل تراکنشی رایگان در هر ماه

    در سرویس ایمیل لیارا شما می‌توانید تا ۱۰۰ ایمیل رایگان در هر ماه ارسال کنید. (به‌همراه دسترسی SMTP)

    هاست رایگان برای انواع وبسایت

    تفاوتی ندارد برای وبسایت خود از Node استفاده می‌کنید یا Laravel و Django، در لیارا می‌توانید به صورت کاملا رایگان آن را میزبانی کنید.

    همراه شما هستیم

    در خصوص سفارش یا استفاده از سرویس‌ها سوالی دارید؟
    تلفن واحد فروش:
    ۰۲۵-۳۳۵۵۷۶۱۹ (روزهای کاری ۹ الی ۱۷)
    تلفن واحد فروش: ۳۳۵۵۷۶۱۹-۰۲۵ (روزهای کاری ۹ الی ۱۷)