TGViewer
سماموس: نوشته‌های یوسف مهرداد بی‌بالان سماموس: نوشته‌های یوسف مهرداد بی‌بالان @bibalan_com · 298 subscribers
Post #212 477
نمونه آموزنده‌ای از بازسازی کد
مقدمه: بازسازی کد
بازسازی کد یا refactoring، یک واژه‌ی تخصصی است که معنی آن، بهبود کیفیت کد یک سیستم است بدون آن که تغییری در رفتار خارجی آن ایجاد شود. مشابه غیرنرم‌افزاری بازسازی کد، بازسازی داخلی یک خانه است که بدون آن نمای خارجی خانه دچار تغییر شود، اجزای داخلی آن مانند تاسیسات و چیدمان وسایل تغییر می‌کنند.
حالا اگر بهبود کیفیت کد منجر به خطاهای جدید یا تغییرات در رفتار سیستم گردد، آیا چنین کاری، بهبود یا بازسازی کد است؟ مسلما خیر! پاسخ این پرسش از این بابت اهمیت دارد که هر تغییری در کد، بازسازی محسوب نمی‌شود ولی بازسازی حتما با تغییر کد همراه است: هر گردی گردو نیست!

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

بدیهی است که یکی از مزایای بازسازی کد این است که وقت گذاشتن پیشاپیش و تدریجی برای افزایش کیفیت کد باعث افزایش سرعت تیم در آینده می‌شود.

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

if(user.role === "admin" && user.isActive && user.permissions.some(p => p === "edit")) {
// Do stuff
}
گزیده:
حرف زدن که هزینه نداره، کدت رو نشون بده! 🙂
برایان کرنیگان
https://tinyurl.com/yrra2knb

پ.ن.
شاید ترجمه بهتر این باشد: حرف زدن که مالیات نداره، کدت رو نشون بده!
شهرت برایان کرنیگان در کنار دنیس ریچی به دلیل کتاب معروف برنامه‌نویسی C است.
منبع کد: کتاب Refactoring TypeScript نوشته‌ی James Hickey

https://www.bibalan.com/?p=3606
https://t.me/bibalan_com
  • 👍 1
More from @bibalan_com
  1. Sep 30, 2026هزینه‌ی RAG رو کی پرداخت می‌کنید؟ هر دستیار هوش مصنوعی که از بر اسناد و مدارک به پرسش‌های…
  2. Sep 9, 2026روح من، جا مانده در باران! https://t.me/bibalan_com
  3. Sep 5, 2026کی دست‌‌یار کیه؟ به ابزارهایی مانند Claude Code, Cursor, GitHub Copilot می‌گویم دستیار. ول…
  4. Aug 8, 2026وقتی هوش مصنوعی، حافظه‌ی شما را می‌دزدد بگذارید یک آزمایش کوتاه انجام بدیم! آیا می‌تونید ی…
  5. Jul 25, 2026فرایند تک‌ نفره (Process of One) در سال ۱۹۹۵، واتس هامفری (Watts Humphrey)-معروف به پدر کی…
  6. Jul 19, 2026دست‌یار هوش مصنوعی شما خسته نشده، پر شده اگر هر روز برای برنامه‌نویسی از هوش مصنوعی استفاد…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →