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
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]`.
Příklad použití
Vstup:
[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:
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.
Podobné prompty
Analýza zdrojů a shrnutí
Tento prompt slouží k rychlému získání přehledu, hlavních myšlenek a strukturovaného shrnutí z nahraných dokumentů v NotebookLM.
Asistent pro psaní e-mailů
Profesionální nástroj pro sestavení, vylepšení nebo přepisování e-mailových zpráv v různých tónech.
Automatické shrnutí schůzky
Tento prompt slouží k vytvoření strukturovaného shrnutí, seznamu úkolů a klíčových bodů z tranzkripce schůzky získané v Otter.ai.
Autor Expertního SEO Článku
Komplexní pokyn pro Monica.im k vytvoření hloubkového, optimalizovaného článku na zadané téma s využitím kontextu z webu.
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ů.