جریان کار
در همان حلقهای بمانید که دارید — ویرایش، اجرا، مشاهده، ثبت تغییرات.
فضای کار، حافظهٔ عضلانی اکسپلورر، جستجو، کنترل منبع و ترمینال را رعایت میکند. قوانین، مهارتها، هوک و MCP داخل همین حلقه جا میگیرند؛ نه بهجای آن با روکش آموزشی.
میانبرها و جزئیات پیکربندی با پایدار شدن هر نسخه در مستندات میآیند.
41 def charge(order, wallet): 42 tax = order.subtotal * 0.09 43 total = order.subtotal + tax 44 if wallet.balance < total: 45 raise InsufficientFunds(total) 46 wallet.debit(total) 47 return Receipt(order.id, total)
مالیات منطقهای را از نرخ ثابت جدا کن و قبل از debit موجودی را درست چک کن.
۶ فایل خوانده شد · ۲ جستجو · ۱ تست
charge هنوز ۰٫۰۹ را سخت گذاشته. tax_for(region) هست. can_cover را به کیف وصل میکنم.
پچ ۱۲ خطی روی دو فایل. دیف را ببینید.
قبل از دستزدن به checkout، رویکرد مالیات چندمنطقهای را بنویس.
Plan · شل و ویرایش محصول محدود است
اول قرارداد tax_for را ثابت میکنم، بعد charge را عوض میکنم، بعد test_charge.
برنامه آماده است. وقتی تأیید کردید به Agent برمیگردم.
charge از کجا مالیات میگیرد و کدام تست آن را قفل کرده؟
Ask · فقط خواندن
نرخ در checkout.py:42 است. test_charge همان ۰٫۰۹ را assert میکند.
چیزی نوشته نشد.
InsufficientFunds برای سفارش معاف از مالیات هم بالا میآید. اول شواهد.
Debug · بازتولید قبل از فیکس
شکست وقتی region معاف است و wallet.can_cover هنوز نرخ ثابت را میبیند.
رد شکست آماده است. اصلاح را بعد از تأیید مینویسم.
- tax = order.subtotal * 0.09 + tax = order.tax_for(region) - if wallet.balance < total: + if not wallet.can_cover(total, region): wallet.debit(total)