Názor k článku Omezení stavového prostoru testovaných funkcí a metod od Pavel Tišnovský - Ono je to vždycky něco za něco. Aktivně...

  • Článek je starý, nové názory již nelze přidávat.
  • 3. 6. 2020 20:40

    Pavel Tišnovský
    Zlatý podporovatel

    Ono je to vždycky něco za něco. Aktivně používám víc jazyků, včetně dynamicky typovaného Pythonu, ovšem samozřejmě v Pythonu si za dynamické typování draze zaplatíme - jak časem běhu, tak i - jak uvádíte - tím, že prostě některé potenciální chyby buď ignorujeme nebo nastanou :/

    Mypy je (samozřejmě IMHO) velmi vhodné pro ty funkce a metody, které tvoří veřejné API. Tam je potom typová deklarace součástí rozhraní a pomáhá to oběma stranám - jak autorovi API, tak i jeho konzumentovi.

    Ale opět - ten typový systém samozřejmě není dokonalý, a popravdě nevím o žádném, který by vždy vyhovoval a byl řešitelný v rámci statických kontrol (tedy před runtime). Stačí si představit funkci, která akceptuje seznam uživatelů, přičemž uživatel je nějaká struktura, která může mít další zanořené atributy - jak to vůbec typově dobře popsat a zkontrolovat?