Какие знаешь подходы написания кода
Python
Middle
Аэрофлот
Какие знаешь подходы написания кода
Ответы
- **Императивный** – код описывает шаги для достижения результата (циклы, условия).
```
result = []
for num in range(10):
if num % 2 == 0:
result.append(num)
```
- **Декларативный** – акцент на *что* сделать, а не *как* (SQL, LINQ, функциональные элементы).
```
result = [num for num in range(10) if num % 2 == 0]
```
- **Функциональный** – избегание изменяемого состояния, чистые функции, функции высшего порядка.
```
from functools import reduce
result = reduce(lambda acc, x: acc + x, [1, 2, 3], 0)
```
- **ООП** – инкапсуляция, наследование, полиморфизм.
```
class Animal:
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Woof!"
```
- **Процедурный** – разбиение на процедуры/функции без глубокой иерархии.
```
def calculate_sum(a, b):
return a + b
```
- **DRY (Don’t Repeat Yourself)** – избегание дублирования через абстракции.
- **KISS (Keep It Simple, Stupid)** – минимизация сложности.
- **SOLID** – принципы ООП для масштабируемости.
Выбор зависит от задачи, языка и контекста. В Python часто комбинируют стили.