Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
Pojďme to probrat

Functional Programming principy

17. 11. 2020 1 min čtení intermediate

Functional programming není jen akademický koncept. Pure functions, immutability a composition vedou k čistějšímu kódu.

Klíčové principy

  • Pure functions: Stejný vstup → stejný výstup, žádné side effects
  • Immutability: Data se nemění, vytváří se nová
  • First-class functions: Funkce jako hodnoty
  • Composition: Skládání malých funkcí

Praktické příklady

Python — map, filter, reduce

from functools import reduce numbers = [1, 2, 3, 4, 5] doubled = list(map(lambda x: x * 2, numbers)) evens = list(filter(lambda x: x % 2 == 0, numbers)) total = reduce(lambda a, b: a + b, numbers)

List comprehension (pythonic)

doubled = [x * 2 for x in numbers] evens = [x for x in numbers if x % 2 == 0]

Composition

from functools import reduce def compose(*fns): return reduce(lambda f, g: lambda x: f(g(x)), fns) process = compose(format_output, validate, parse_input) result = process(raw_data)

JavaScript FP

const users = [{ name: ‘Jan’, age: 30 }, { name: ‘Eva’, age: 25 }]; const names = users.map(u => u.name); const adults = users.filter(u => u.age >= 18); const totalAge = users.reduce((sum, u) => sum + u.age, 0); // Immutability const updated = { …user, age: 31 }; // Spread, ne mutace const newList = […items, newItem];

Klíčový takeaway

Pure functions pro testovatelnost, immutability pro prediktabilitu, map/filter/reduce místo for loops.

functional programmingfppythonjavascript
Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.