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

در دنیای توسعه نرم افزار ، کد تمیز فقط یک “لوکس” نیست بلکه یک ضرورت است. کدی که به خوبی ساختار یافته ، خوانا و آسان برای نگهداری باشد می تواند زمان رشد را به میزان قابل توجهی کاهش دهد ، خطاها را کاهش داده و عملکرد گروه را بهبود بخشد.
کد تمیز چیست؟
در رمز پاک راهی برای نوشتن کد است که دنبال می شود بهترین روشها وت اصول طراحی، به طوری که آنها خوانا ، قابل درک و به راحتی قابل گسترش باشند.
ویژگی های اساسی یک کد تمیز:
✅ نام خالص و توصیفی
✅ توابع کوچک و واضح
✅ جدایی ماژول های منطقی (جدایی نگرانی ها)
✅ اجتناب از تکثیر کد (خشک – خود را تکرار نکنید)
✅ در صورت لزوم از الگوهای طراحی (الگوهای طراحی) استفاده کنید
✅ مدیریت مناسب استثنا (رسیدگی به استثنا)
یک کلاس و یک روش باید چند خط داشته باشد؟
📌 کلاس (کلاس)
✔ یک کلاس نباید از 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