---
title: "Встраивание переменной"
type: "refactoring-technique"
slug: "inline-temp"
url: "http://localhost:3000/ru/inline-temp.md"
category: "Составление методов"
description: "Проблема: У вас есть временная переменная, которой присваивается результат простого выражения (и больше ничего). Решение: Замените обращения к переменной этим выражением."
languages: ["java", "csharp", "php", "python", "typescript"]
---
# Встраивание переменной

> Проблема: У вас есть временная переменная, которой присваивается результат простого выражения (и больше ничего). Решение: Замените обращения к переменной этим выражением.

## Problem

У вас есть временная переменная, которой присваивается результат простого выражения (и больше ничего).

## Solution

Замените обращения к переменной этим выражением.

## Why Refactor

Встраивание локальной переменной почти всегда используется как часть [замены переменной вызовом метода](/ru/replace-temp-with-query) или для облегчения [извлечения метода](/ru/extract-method).

## Benefits

* Сам по себе данный рефакторинг не несёт почти никакой пользы. Тем не менее, если переменной присваивается результат выполнения какого-то метода, у вас есть возможность немного улучшить читабельность программы, избавившись от лишней переменной.

## How to Refactor

1. Найдите все места, где используется переменная, и замените их выражением, которое ей присваивалось.
2. Удалите объявление переменной и строку присваивания ей значения.
## Relations

**Helps you do**

- [Замена переменной вызовом метода](/ru/replace-temp-with-query.md)
- [Извлечение метода](/ru/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;
}
```

