---
title: "تضمين المتغير المؤقت (Inline Temp)"
type: "refactoring-technique"
slug: "inline-temp"
url: "http://localhost:3000/ar/inline-temp.md"
category: "تركيب التوابع"
description: "المشكلة: لديك متغير مؤقت يتم تعيين نتيجة تعبير بسيط له فقط ولا شيء غير ذلك. الحل: استبدل الإشارات إلى المتغير بالتعبير نفسه."
languages: ["java", "csharp", "php", "python", "typescript"]
---
# تضمين المتغير المؤقت (Inline Temp)

> المشكلة: لديك متغير مؤقت يتم تعيين نتيجة تعبير بسيط له فقط ولا شيء غير ذلك. الحل: استبدل الإشارات إلى المتغير بالتعبير نفسه.

## المشكلة

لديك متغير مؤقت يتم تعيين نتيجة تعبير بسيط له فقط ولا شيء غير ذلك.

## الحل

استبدل الإشارات إلى المتغير بالتعبير نفسه.

## دواعي إعادة الهيكلة

يتم استخدام تضمين المتغيرات المحلية دائماً تقريباً كجزء من عملية [استبدال المتغير المؤقت باستعلام (Replace Temp with Query)](/replace-temp-with-query) أو للتمهيد لعملية [استخراج التابع (Extract Method)](/extract-method).

## الفوائد

* لا تقدم تقنية إعادة الهيكلة هذه أي فائدة تقريباً في حد ذاتها. ومع ذلك، إذا تم تعيين نتيجة تابع للمتغير، فيمكنك تحسين مقروئية البرنامج بشكل طفيف عن طريق التخلص من المتغير غير الضروري.

## كيفية إعادة الهيكلة

1. ابحث عن جميع الأماكن التي تستخدم هذا المتغير. واستخدم التعبير الذي تم تعيينه له بدلاً من المتغير.
2. احذف تصريح المتغير وسطر التعيين الخاص به.
## Relations

**Helps you do**

- [استبدال المتغير المؤقت باستعلام](/ar/replace-temp-with-query.md)
- [استخراج الدالة](/ar/extract-method.md)

## Code Examples

### java

```java
// Before
boolean hasDiscount(Order order) {
  double basePrice = order.basePrice();
  return basePrice > 1000;
}

// After
boolean hasDiscount(Order order) {
  return order.basePrice() > 1000;
}
```

### csharp

```csharp
// Before
bool HasDiscount(Order order)
{
  double basePrice = order.BasePrice();
  return basePrice > 1000;
}

// After
bool HasDiscount(Order order)
{
  return order.BasePrice() > 1000;
}
```

### php

```php
// Before
$basePrice = $anOrder->basePrice();
return $basePrice > 1000;

// After
return $anOrder->basePrice() > 1000;
```

### python

```python
// Before
def hasDiscount(order):
    basePrice = order.basePrice()
    return basePrice > 1000

// After
def hasDiscount(order):
    return order.basePrice() > 1000
```

### typescript

```typescript
// Before
hasDiscount(order: Order): boolean {
  let basePrice: number = order.basePrice();
  return basePrice > 1000;
}

// After
hasDiscount(order: Order): boolean {
  return order.basePrice() > 1000;
}
```

