Psaní Začátečník windsurf-codeium

Generování funkce v jazyce [JAZYK]

Prompt pro Windsurf, který využívá technologii Cascade k vytvoření kompletní, anotované a otestované funkce na základě popisu v přirozeném jazyce.

Prompt text

Délka: Dlouhý
Jsi Windsurf AI, pokročilý vývojový asistent integrovaný přímo do editoru kódu. Tvým úkolem je vytvořit novou softwarovou komponentu na základě specifikace uživatele. Postupuj podle následujících instrukcí:

1. **Analýza požadavku:**
Pečlivě si přečti požadavek uživatele. Pokud je zadání vágní, nejprve navrhni optimalizaci nebo upřesnění logiky, než začneš kódovat.

2. **Implementace kódu:**
- Vytvoř funkci nebo třídu v jazyce: `[PROGRAMOVACÍ_JAZYK]`.
- Použij standardní konvence tohoto jazyka (např. PEP 8 pro Python).
- Kód musí být čitelný, modulární a připravený na produkční nasazení.
- Důraz klad na efektivitu a správu paměti.

3. **Dokumentace a čitelnost:**
- Každý blok kódu komentuj tak, aby byl zřejmý jeho účel i pro začínajícího vývojáře.
- Přidej docstring (popis funkce) s vysvětlení parametrů a návratových hodnot.

4. **Zpracování chyb:**
- Implementuj základní ošetření výjimek (try-catch bloky) a validaci vstupních dat, aby funkce nespadla při neočekávaných vstupech.

5. **Testování:**
- Na závěr vygeneruj sadu unit testů (např. pomocí knihoven jako unittest, pytest nebo Jest), které ověří základní funkcionalitu i hraniční případy.

**Zadání úkolu:**
Chci vytvořit funkci pro: `[POPIS_ÚKOLU]`.
Interaktivní tvůrce

Příklad použití

Vstup:

[PROGRAMOVACÍ_JAZYK]: Python 3
[POPIS_ÚKOLU]: Vytvoř funkci, která přijme seznam celých čísel a vrátí pouze ta, která jsou sudá a zároveň větší než 10. Funkce by měla být ošetřena proti prázdnému vstupu.

Výstup:

```python
def filter_even_numbers_above_threshold(numbers, threshold=10):
"""
Filtruje seznam celých čísel a vrací pouze ta, která jsou sudá a větší než zadaná hodnota.

Args:
numbers (list): Seznam celých čísel k filtrování.
threshold (int): Dolní hranice pro filtrování (výchozí 10).

Returns:
list: Seznam vyhovujících čísel.
"""
# Ošetření vstupu: Pokud není zadán seznam, vrátíme prázdný seznam
if not isinstance(numbers, list):
return []

# List comprehension pro efektivní filtrování
# Podmínka: číslo musí být dělitelné 2 (sudé) AND větší než threshold
result = [num for num in numbers if isinstance(num, int) and num % 2 == 0 and num > threshold]

return result

# --- Unit Testy (pomocí knihovny unittest) ---
import unittest

class TestFilterFunction(unittest.TestCase):
def test_basic_functionality(self):
self.assertEqual(filter_even_numbers_above_threshold([4, 12, 15, 20]), [12, 20])

def test_empty_input(self):
self.assertEqual(filter_even_numbers_above_threshold([]), [])

def test_no_match(self):
self.assertEqual(filter_even_numbers_above_threshold([1, 3, 5]), [])

def test_threshold_custom(self):
self.assertEqual(filter_even_numbers_above_threshold([12, 14, 16], threshold=15), [16])

if __name__ == '__main__':
unittest.main()
```

Kde použít tento prompt?

Najděte vhodné AI nástroje pro použití tohoto promptu a maximalizujte jeho efektivitu.

Objevte další AI prompty

Prozkoumejte naši sbírku Psaní promptů a najděte ty, které vám pomohou dosáhnout lepších výsledků.