برنامه نویسی

اهمیت کد تمیز در کد ما

در دنیای توسعه نرم افزار ، کد تمیز فقط یک “لوکس” نیست بلکه یک ضرورت است. کدی که به خوبی ساختار یافته ، خوانا و آسان برای نگهداری باشد می تواند زمان رشد را به میزان قابل توجهی کاهش دهد ، خطاها را کاهش داده و عملکرد گروه را بهبود بخشد.

کد تمیز چیست؟

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

ویژگی های اساسی یک کد تمیز:
نام خالص و توصیفی
توابع کوچک و واضح
جدایی ماژول های منطقی (جدایی نگرانی ها)
اجتناب از تکثیر کد (خشک – خود را تکرار نکنید)
در صورت لزوم از الگوهای طراحی (الگوهای طراحی) استفاده کنید
مدیریت مناسب استثنا (رسیدگی به استثنا)


یک کلاس و یک روش باید چند خط داشته باشد؟

📌 کلاس (کلاس)

✔ یک کلاس نباید از 300-500 خط کد تجاوز کند.
✔ اگر یک کلاس بیش از حد رشد کند ، احتمالاً مسئولیت های بسیاری را انجام می دهد (اصل مسئولیت واحد – SRP)بشر
✔ ترجیح داده می شود کلاسهای بزرگ را به کلاسهای کوچکتر یا ماژول برای حفظ قوام و خوانایی کد.
✔ اندازه گیری خوبی است یک کلاس = یک عمل واضح (به عنوان مثال ، کاربران برای مدیریت کاربر ، پردازنده پرداخت برای پرداخت).

📌 روش (روش)

✔ یک روش در حالت ایده آل بیش از 10-20 خط کد نیست.
✔ اگر روشی بیش از حد رشد کند ، به احتمال زیاد بیش از یک عملکرد را انجام می دهد و باید از هم جدا شود.
✔ قانون “یک روش باید یک کار را به تنهایی انجام دهد” (اصل مسئولیت واحد) باید کاملاً رعایت شود.
✔ اگر متوجه بسیاری از اظهارات یا سوئیچی در یک روش هستید ، در نظر بگیرید که آیا می توانید استفاده کنید الگوهای طراحی (مانند استراتژی یا الگوی کارخانه) برای تمیز نگه داشتن ساختار.


مثال کد تمیز در مقابل کد بد در C# (.NET CORE)

بیایید یکی را ببینیم مثال بد کد پیروی از اصول کد تمیز:

مثال کد بد (کد غیرپور)

public class UserService
{
    public void ProcessUser(string username, string email)
    {
        if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(email))
        {
            throw new Exception("Invalid data");
        }

        Console.WriteLine("Processing user...");
        // Save to database (hypothetically)
        Console.WriteLine($"User {username} saved with email {email}");
    }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

🔴 اینجا چه مشکلی دارد؟

  • 1 روشهای غیر توصیفی روشها (پردازشگر – بسیاری از کارها را به طور همزمان انجام دهید).
  • 2 عدم مسئولیت (اعتبار سنجی ، منطق تجارت و ذخیره همه با یک روش).
  • 3 مدیریت بد استثنائات (استثناء جدید را پرتاب کنید () اطلاعات کافی را ارائه نمی دهد).
  • 4 داده های کدگذاری شده سخت در Console.Writeline.

✅ مثال کد پاک (کد خالص)

public class User
{
    public string Username { get; }
    public string Email { get; }

    public User(string username, string email)
    {
        if (string.IsNullOrWhiteSpace(username)) throw new ArgumentException("Username cannot be empty.");
        if (string.IsNullOrWhiteSpace(email) || !email.Contains("@")) throw new ArgumentException("Invalid email.");

        Username = username;
        Email = email;
    }
}

public interface IUserRepository
{
    void Save(User user);
}

public class UserRepository : IUserRepository
{
    public void Save(User user)
    {
        Console.WriteLine($"User {user.Username} saved with email {user.Email}");
    }
}

public class UserService
{
    private readonly IUserRepository _userRepository;

    public UserService(IUserRepository userRepository)
    {
        _userRepository = userRepository;
    }

    public void RegisterUser(string username, string email)
    {
        var user = new User(username, email);
        _userRepository.Save(user);
    }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

🟢 چه چیزی را بهبود بخشیدیم؟

جدایی نگرانی ها – هر کلاس نقش خاصی دارد.
استثنا با پیام های روشن (ArgrentException) – به جای استثنا ، ما از استثنائات خاص تر استفاده می کنیم.
استفاده کردن IUSerRepository برای مدیریت داده ها – جدایی لایه پایداری از منطق تجارت.
محدودیت مسئولیت در کاربران سرویس – فقط با منطق ثبت نام کاربر سروکار دارد.


چرا کد تمیز مهم است؟

1⃣ راحتی حفاظت – وقتی کد خالص است ، هر برنامه نویس او به راحتی می تواند او را بخواند و درک کند.
2 کمتر اشکالات – یک کد چاه سازمان یافته احتمال خطاها را کاهش می دهد و مشکلات غیرقابل پیش بینی
3⃣ همکاری بهتر – وقتی بسیاری از توسعه دهندگان در یک پروژه کار می کنند ، یک کد خالص امکان همکاری بهتر را فراهم می کندبشر
4⃣ عملکرد بهبود یافته – اگر کد به درستی ساختار یافته باشد ، می تواند بهبود یابد عملکرد و گسترش از سیستم


پایان

در کد تمیز فقط یک تکنیک برنامه نویسی نیست بلکه راهی برای تفکر استبشر یک کد تمیز ، سازمان یافته و قابل درک منجر می شود در خطاهای کمتری ، عملکرد بهتر و سیستم های انعطاف پذیر تربشر

اگر روزانه کد می نویسید ، عادت کنید شما دائماً نحوه نوشتن کد را بهبود می بخشیدبشر تغییرات کوچک در ساختار و منطق کد می تواند در طولانی مدت تفاوت زیادی ایجاد کند.

1⃣ کتاب
code کد تمیز: کتاب راهنمای کاردستی نرم افزار چابک – رابرت سی مارتین (عمو باب)
coder کد کننده پاک: یک کد رفتار برای برنامه نویسان حرفه ای – رابرت سی مارتین
📖 اصلاح مجدد: بهبود طراحی کد موجود – مارتین فاولر

2⃣ آموزش و مستندات آنلاین
🔗 دستورالعمل های برنامه نویسی Microsoft .NET
🔗 اصلاح گورو – کد تمیز و الگوهای طراحی

3 دوره ویدیویی
🎥 کد تمیز – PluralSight (درس های رابرت سی مارتین)
princip اصول جامد در C# – Udemy ، Coursera
strchitecture تمیز در .NET – آموزش های YouTube توسط توسعه دهندگان مشهور
cled-code

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا