TGViewer
سماموس: نوشته‌های یوسف مهرداد بی‌بالان سماموس: نوشته‌های یوسف مهرداد بی‌بالان @bibalan_com · 297 subscribers
Post #301 610
بازسازی کد، کد خودآزما، یکپارچه‌سازی پیوسته


اگر بخش قبلی در مورد مشکلات بازسازی‌کد (refactoring) را خوانده باشید، احتمالاً یکی از درس‌هایی که یاد گرفته‌اید این است که اثربخشی بازسازی کد با سایر تکنیک‌ها و روش‌هایی که یک تیم استفاده می‌کند، ارتباط تنگاتنگی دارد.

اکس‌پی (XP) یکی از اولین متدهای چابک بود و برای سالها رهبر تکنیک‌های جدید و نوظهور چابک بود. امروزه پروژه‌های زیادی از روش‌های چابک که جریان فکری اصلی آنها همان تفکر چابکی (agile thinking) است استفاده می‌کنند، هر چند در واقعیت، اکثر پروژه‌های «چابک» تنها بهره‌ای که از چابکی می‌برند فقط نام آن است.
برای اینکه تیمی واقعاً به روشی چابک رفتار کند باید اعضای آن در بازسازی کد، توانمند و مشتاق باشند و برای تحقق چنین شرایطی ضروری است بسیاری از جنبه‌های فرایند آنها، هم‌سو و هم‌جهت با تبدیل بازسازی‌ کد به بخشی منظم و عادی از کار توسعه باشد.

۱) اولین ستون و پای‌بست بازسازی کد، کد خودآزما (self-testing code) است. منظورم از کد خودآزما این است که مجموعه‌ای از آزمون‌های خودکار وجود دارد که با اجرای آنها، مطمئن می‌شوم در صورت ایجاد خطا توسط کد من، برخی از آزمون‌ها ناموفق خواهند شد و آزمون نیز با شکست همراه خواهد شد.

۲) برای بازسازی کد در یک تیم، این نکته مهم است که هر یک از اعضا بتوانند بدون خراب‌ کردن کار دیگران، کدها را تغییر بدهند و اصلاح کنند. به همین دلیل است که من یکپارچه‌سازی پیوسته (Continuous Integration) را توصیه می‌کنم.

با به‌کارگیری این سه تکنیک (بازسازی کد، کد خودآزما، یکپارچه‌سازی پیوسته) تازه امکان استفاده از رویکرد طراحی Yagni را فراهم می‌کنیم. لازم به ذکر است که بازسازی کد و Yagni اثر یکدیگر را تقویت می‌کنند.

تازه بعد از جااندازی این تکنیک‌ها و روش‌های زیربنایی، زیرساخت لازم برای بهره‌گیری از سایر اجزای تفکر چابکی مانند تحویل پیوسته (Continuous Delivery) فراهم خواهد شد.

پانوشت: YAGNI مخفف “You Aren’t Gonna Need It” است و تکنیکی است برگرفته از XP که بیان می‌کند برنامه‌نویس نباید کارکردی را به سیستم اضافه کند مگر آن که تشخیص داده شود ضروری است.

مرجع: Refactoring, 2nd Edition, by Martin Fowler.

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


https://www.bibalan.com/?p=4177
https://t.me/bibalan_com
Telegram سماموس: نوشته‌های یوسف مهرداد بی‌بالان این کانال برای اطلاع‌رسانی نوشته‌های وبلاگ سماموس (bibalan.com) ایجاد شده است. مطالب پس از انتشار در وبلاگ، در این کانال نیز منتشر خواهد شد. امیدوارم که مطالب آن برای شما مفید باشد و خوشحال خواهم شد تا نظرات و بازخوردهای شما عزیزان را دریافت کنم.
  • 👍 4
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 →